diff options
author | Vasanthakumar Thiagarajan <vasanth@atheros.com> | 2009-06-13 05:20:25 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-06-15 15:05:57 -0400 |
commit | 159cd468bc885f7a2fbc75bbfe782782e52ef9c9 (patch) | |
tree | 3985624889b896a5d87f3ba6b0221ebb1a2cab85 /drivers/net/wireless/ath/ath9k/main.c | |
parent | 82880a7cf9c059c11cd6ad1868c48969956f966b (diff) |
ath9k: Make sure we have current channel in ah_curchan before rf disable/enable
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
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.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 89bf07e66d10..6516a426f6ce 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -1123,6 +1123,9 @@ void ath_radio_enable(struct ath_softc *sc) | |||
1123 | ath9k_ps_wakeup(sc); | 1123 | ath9k_ps_wakeup(sc); |
1124 | ath9k_hw_configpcipowersave(ah, 0); | 1124 | ath9k_hw_configpcipowersave(ah, 0); |
1125 | 1125 | ||
1126 | if (!ah->curchan) | ||
1127 | ah->curchan = ath_get_curchannel(sc, sc->hw); | ||
1128 | |||
1126 | spin_lock_bh(&sc->sc_resetlock); | 1129 | spin_lock_bh(&sc->sc_resetlock); |
1127 | r = ath9k_hw_reset(ah, ah->curchan, false); | 1130 | r = ath9k_hw_reset(ah, ah->curchan, false); |
1128 | if (r) { | 1131 | if (r) { |
@@ -1175,6 +1178,9 @@ void ath_radio_disable(struct ath_softc *sc) | |||
1175 | ath_stoprecv(sc); /* turn off frame recv */ | 1178 | ath_stoprecv(sc); /* turn off frame recv */ |
1176 | ath_flushrecv(sc); /* flush recv queue */ | 1179 | ath_flushrecv(sc); /* flush recv queue */ |
1177 | 1180 | ||
1181 | if (!ah->curchan) | ||
1182 | ah->curchan = ath_get_curchannel(sc, sc->hw); | ||
1183 | |||
1178 | spin_lock_bh(&sc->sc_resetlock); | 1184 | spin_lock_bh(&sc->sc_resetlock); |
1179 | r = ath9k_hw_reset(ah, ah->curchan, false); | 1185 | r = ath9k_hw_reset(ah, ah->curchan, false); |
1180 | if (r) { | 1186 | if (r) { |