ath9k: get rid of unnecessary setpower calls
We are using setpower routines regardless of the current power mode. Don't bother the hardware, if it is not necessary. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
96148326c4
commit
cbdec97587
1 changed files with 6 additions and 2 deletions
|
@ -478,6 +478,8 @@ static struct ath_hw *ath9k_hw_newstate(u16 devid, struct ath_softc *sc,
|
||||||
|
|
||||||
ah->gbeacon_rate = 0;
|
ah->gbeacon_rate = 0;
|
||||||
|
|
||||||
|
ah->power_mode = ATH9K_PM_UNDEFINED;
|
||||||
|
|
||||||
return ah;
|
return ah;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2819,6 +2821,9 @@ static bool ath9k_hw_setpower_nolock(struct ath_hw *ah,
|
||||||
"UNDEFINED"
|
"UNDEFINED"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (ah->power_mode == mode)
|
||||||
|
return status;
|
||||||
|
|
||||||
DPRINTF(ah->ah_sc, ATH_DBG_RESET, "%s -> %s\n",
|
DPRINTF(ah->ah_sc, ATH_DBG_RESET, "%s -> %s\n",
|
||||||
modes[ah->power_mode], modes[mode]);
|
modes[ah->power_mode], modes[mode]);
|
||||||
|
|
||||||
|
@ -2863,8 +2868,7 @@ void ath9k_ps_wakeup(struct ath_softc *sc)
|
||||||
if (++sc->ps_usecount != 1)
|
if (++sc->ps_usecount != 1)
|
||||||
goto unlock;
|
goto unlock;
|
||||||
|
|
||||||
if (sc->sc_ah->power_mode != ATH9K_PM_AWAKE)
|
ath9k_hw_setpower_nolock(sc->sc_ah, ATH9K_PM_AWAKE);
|
||||||
ath9k_hw_setpower_nolock(sc->sc_ah, ATH9K_PM_AWAKE);
|
|
||||||
|
|
||||||
unlock:
|
unlock:
|
||||||
spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
|
spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
|
||||||
|
|
Loading…
Add table
Reference in a new issue