aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-11-30 15:58:31 -0500
committerJohn W. Linville <linville@tuxdriver.com>2014-12-01 15:57:22 -0500
commitef739ab6aac38b25e473f418ecfe1fb433346fa1 (patch)
tree76de505488b82c0dc0c34cbe657b33abc1873cf3
parent56bdbe0d6ac59c3eb17c2b9d715fb2e41467e354 (diff)
ath9k: set ATH_OP_INVALID before disabling hardware
Closes another small IRQ handler race Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 7c63976b5b0c..d41e6cfd24b1 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -887,6 +887,9 @@ static void ath9k_stop(struct ieee80211_hw *hw)
887 &sc->cur_chan->chandef); 887 &sc->cur_chan->chandef);
888 888
889 ath9k_hw_reset(ah, ah->curchan, ah->caldata, false); 889 ath9k_hw_reset(ah, ah->curchan, ah->caldata, false);
890
891 set_bit(ATH_OP_INVALID, &common->op_flags);
892
890 ath9k_hw_phy_disable(ah); 893 ath9k_hw_phy_disable(ah);
891 894
892 ath9k_hw_configpcipowersave(ah, true); 895 ath9k_hw_configpcipowersave(ah, true);
@@ -895,7 +898,6 @@ static void ath9k_stop(struct ieee80211_hw *hw)
895 898
896 ath9k_ps_restore(sc); 899 ath9k_ps_restore(sc);
897 900
898 set_bit(ATH_OP_INVALID, &common->op_flags);
899 sc->ps_idle = prev_idle; 901 sc->ps_idle = prev_idle;
900 902
901 mutex_unlock(&sc->mutex); 903 mutex_unlock(&sc->mutex);