summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorFelix Fietkau2010-04-19 19:57:29 +0200
committerJohn W. Linville2010-04-20 17:50:52 +0200
commitc9c99e5e440013c420fd8ec41ee83e89909d5186 (patch)
tree99bc6b0e758937c899d0ef4b28b6a30385d21139 /drivers/net/wireless/ath/ath9k/main.c
parentmac80211: document IEEE80211_CONF_CHANGE_QOS (diff)
downloadkernel-qcow2-linux-c9c99e5e440013c420fd8ec41ee83e89909d5186.tar.gz
kernel-qcow2-linux-c9c99e5e440013c420fd8ec41ee83e89909d5186.tar.xz
kernel-qcow2-linux-c9c99e5e440013c420fd8ec41ee83e89909d5186.zip
ath9k: check for specific rx stuck conditions and recover from them
Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 40136cf63fa4..aad370a7f95b 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -405,7 +405,8 @@ void ath9k_tasklet(unsigned long data)
ath9k_ps_wakeup(sc);
- if (status & ATH9K_INT_FATAL) {
+ if ((status & ATH9K_INT_FATAL) ||
+ !ath9k_hw_check_alive(ah)) {
ath_reset(sc, false);
ath9k_ps_restore(sc);
return;