summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-06 09:06:56 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-06 09:06:56 +0000
commitabeb82549edcd1d0afeeb56a79ad62b44f9cb9d0 (patch)
tree625706cbbd176357f3df7126134a171682904490
parent30a93a7cd51e962aba4e0c45288466a4477daffb (diff)
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
-rw-r--r--package/mac80211/patches/560-ath9k_rx_stop.patch13
1 files changed, 13 insertions, 0 deletions
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;
+ }