30 lines
792 B
Diff
30 lines
792 B
Diff
|
From: Felix Fietkau <nbd@openwrt.org>
|
||
|
Date: Thu, 13 Nov 2014 18:29:00 +0100
|
||
|
Subject: [PATCH] ath9k: set ATH_OP_INVALID before disabling hardware
|
||
|
|
||
|
Closes another small IRQ handler race
|
||
|
|
||
|
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||
|
---
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath9k/main.c
|
||
|
+++ b/drivers/net/wireless/ath/ath9k/main.c
|
||
|
@@ -885,6 +885,9 @@ static void ath9k_stop(struct ieee80211_
|
||
|
&sc->cur_chan->chandef);
|
||
|
|
||
|
ath9k_hw_reset(ah, ah->curchan, ah->caldata, false);
|
||
|
+
|
||
|
+ set_bit(ATH_OP_INVALID, &common->op_flags);
|
||
|
+
|
||
|
ath9k_hw_phy_disable(ah);
|
||
|
|
||
|
ath9k_hw_configpcipowersave(ah, true);
|
||
|
@@ -893,7 +896,6 @@ static void ath9k_stop(struct ieee80211_
|
||
|
|
||
|
ath9k_ps_restore(sc);
|
||
|
|
||
|
- set_bit(ATH_OP_INVALID, &common->op_flags);
|
||
|
sc->ps_idle = prev_idle;
|
||
|
|
||
|
mutex_unlock(&sc->mutex);
|