From: Rajkumar Manoharan Date: Fri, 20 May 2011 12:22:10 +0000 (+0530) Subject: ath9k: Reset chip on baseband hang X-Git-Tag: v2.6.39.2~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3493a689667e041c73be8bfd5144df1b480866e0;p=thirdparty%2Fkernel%2Fstable.git ath9k: Reset chip on baseband hang commit a4d86d953b8593791cb29cf2acffd48f9ee6c4f9 upstream. Resetting hardware helps to recover from baseband hang/panic for AR9003 based chips. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 1482fa6508334..846bb4fd48532 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -633,7 +633,8 @@ void ath9k_tasklet(unsigned long data) u32 status = sc->intrstatus; u32 rxmask; - if (status & ATH9K_INT_FATAL) { + if ((status & ATH9K_INT_FATAL) || + (status & ATH9K_INT_BB_WATCHDOG)) { ath_reset(sc, true); return; } @@ -699,6 +700,7 @@ irqreturn_t ath_isr(int irq, void *dev) { #define SCHED_INTR ( \ ATH9K_INT_FATAL | \ + ATH9K_INT_BB_WATCHDOG | \ ATH9K_INT_RXORN | \ ATH9K_INT_RXEOL | \ ATH9K_INT_RX | \