From abeb82549edcd1d0afeeb56a79ad62b44f9cb9d0 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Wed, 6 Jul 2011 09:06:56 +0000
Subject: [PATCH] ath9k: fix some more "DMA failed to stop in 10 ms" issues on
 AR913x (#9654)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27482 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/mac80211/patches/560-ath9k_rx_stop.patch | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 package/mac80211/patches/560-ath9k_rx_stop.patch

diff --git a/package/mac80211/patches/560-ath9k_rx_stop.patch b/package/mac80211/patches/560-ath9k_rx_stop.patch
new file mode 100644
index 000000000..17c4c28e4
--- /dev/null
+++ b/package/mac80211/patches/560-ath9k_rx_stop.patch
@@ -0,0 +1,13 @@
+--- a/drivers/net/wireless/ath/ath9k/mac.c
++++ b/drivers/net/wireless/ath/ath9k/mac.c
+@@ -737,7 +737,9 @@ bool ath9k_hw_stopdmarecv(struct ath_hw 
+ 
+ 		if (!AR_SREV_9300_20_OR_LATER(ah)) {
+ 			mac_status = REG_READ(ah, AR_DMADBG_7) & 0x7f0;
+-			if (mac_status == 0x1c0 && mac_status == last_mac_status) {
++			if (mac_status == last_mac_status &&
++			    (mac_status == 0x1c0 ||
++			     (AR_SREV_9100(ah) && mac_status == 0x020))) {
+ 				*reset = true;
+ 				break;
+ 			}
-- 
2.20.1