From f0554f2f24a01d10e442dcb718980482eefabf6a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 14 Sep 2011 21:23:01 +0200 Subject: [PATCH] --- yaml --- r: 266067 b: refs/heads/master c: e392700741a4a5f061f3fcc9f5f2ceb0e0b0953e h: refs/heads/master i: 266065: 55554d54a0e20a1f6f0456dcd475c7e35c8d4931 266063: e1a9cdffbdb9c74934abd1c0bf76b4778ed4852d v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ath/ath9k/main.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index b345d15e7b21..c7c83960b615 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c5d2593bad0d3440ce3b464d9e3c514d364820f8 +refs/heads/master: e392700741a4a5f061f3fcc9f5f2ceb0e0b0953e diff --git a/trunk/drivers/net/wireless/ath/ath9k/main.c b/trunk/drivers/net/wireless/ath/ath9k/main.c index c8ac2ce61ffe..03b402bb9c4e 100644 --- a/trunk/drivers/net/wireless/ath/ath9k/main.c +++ b/trunk/drivers/net/wireless/ath/ath9k/main.c @@ -669,15 +669,15 @@ void ath9k_tasklet(unsigned long data) u32 status = sc->intrstatus; u32 rxmask; + ath9k_ps_wakeup(sc); + spin_lock(&sc->sc_pcu_lock); + if ((status & ATH9K_INT_FATAL) || (status & ATH9K_INT_BB_WATCHDOG)) { ieee80211_queue_work(sc->hw, &sc->hw_reset_work); - return; + goto out; } - ath9k_ps_wakeup(sc); - spin_lock(&sc->sc_pcu_lock); - /* * Only run the baseband hang check if beacons stop working in AP or * IBSS mode, because it has a high false positive rate. For station @@ -725,6 +725,7 @@ void ath9k_tasklet(unsigned long data) if (status & ATH9K_INT_GENTIMER) ath_gen_timer_isr(sc->sc_ah); +out: /* re-enable hardware interrupt */ ath9k_hw_enable_interrupts(ah);