ath9k: Handle ASPM properly for RFKILL
Radio enable/disable have to handle ASPM state properly. This patch fixes it. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a89bff9a78
commit
d2f5b3a677
|
@ -1089,10 +1089,10 @@ void ath_radio_enable(struct ath_softc *sc)
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
ath9k_ps_wakeup(sc);
|
ath9k_ps_wakeup(sc);
|
||||||
|
ath9k_hw_configpcipowersave(ah, 0);
|
||||||
|
|
||||||
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) {
|
||||||
DPRINTF(sc, ATH_DBG_FATAL,
|
DPRINTF(sc, ATH_DBG_FATAL,
|
||||||
"Unable to reset channel %u (%uMhz) ",
|
"Unable to reset channel %u (%uMhz) ",
|
||||||
|
@ -1154,6 +1154,7 @@ void ath_radio_disable(struct ath_softc *sc)
|
||||||
spin_unlock_bh(&sc->sc_resetlock);
|
spin_unlock_bh(&sc->sc_resetlock);
|
||||||
|
|
||||||
ath9k_hw_phy_disable(ah);
|
ath9k_hw_phy_disable(ah);
|
||||||
|
ath9k_hw_configpcipowersave(ah, 1);
|
||||||
ath9k_hw_setpower(ah, ATH9K_PM_FULL_SLEEP);
|
ath9k_hw_setpower(ah, ATH9K_PM_FULL_SLEEP);
|
||||||
ath9k_ps_restore(sc);
|
ath9k_ps_restore(sc);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue