|
@@ -1123,6 +1123,9 @@ void ath_radio_enable(struct ath_softc *sc)
|
|
ath9k_ps_wakeup(sc);
|
|
ath9k_ps_wakeup(sc);
|
|
ath9k_hw_configpcipowersave(ah, 0);
|
|
ath9k_hw_configpcipowersave(ah, 0);
|
|
|
|
|
|
|
|
+ if (!ah->curchan)
|
|
|
|
+ ah->curchan = ath_get_curchannel(sc, sc->hw);
|
|
|
|
+
|
|
spin_lock_bh(&sc->sc_resetlock);
|
|
spin_lock_bh(&sc->sc_resetlock);
|
|
r = ath9k_hw_reset(ah, ah->curchan, false);
|
|
r = ath9k_hw_reset(ah, ah->curchan, false);
|
|
if (r) {
|
|
if (r) {
|
|
@@ -1175,6 +1178,9 @@ void ath_radio_disable(struct ath_softc *sc)
|
|
ath_stoprecv(sc); /* turn off frame recv */
|
|
ath_stoprecv(sc); /* turn off frame recv */
|
|
ath_flushrecv(sc); /* flush recv queue */
|
|
ath_flushrecv(sc); /* flush recv queue */
|
|
|
|
|
|
|
|
+ if (!ah->curchan)
|
|
|
|
+ ah->curchan = ath_get_curchannel(sc, sc->hw);
|
|
|
|
+
|
|
spin_lock_bh(&sc->sc_resetlock);
|
|
spin_lock_bh(&sc->sc_resetlock);
|
|
r = ath9k_hw_reset(ah, ah->curchan, false);
|
|
r = ath9k_hw_reset(ah, ah->curchan, false);
|
|
if (r) {
|
|
if (r) {
|