Skip to content

Commit

Permalink
ath9k: get rid of unnecessary setpower calls
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Gabor Juhos authored and John W. Linville committed Jul 29, 2009
1 parent 9614832 commit cbdec97
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/net/wireless/ath/ath9k/hw.c
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,8 @@ static struct ath_hw *ath9k_hw_newstate(u16 devid, struct ath_softc *sc,

ah->gbeacon_rate = 0;

ah->power_mode = ATH9K_PM_UNDEFINED;

return ah;
}

Expand Down Expand Up @@ -2819,6 +2821,9 @@ static bool ath9k_hw_setpower_nolock(struct ath_hw *ah,
"UNDEFINED"
};

if (ah->power_mode == mode)
return status;

DPRINTF(ah->ah_sc, ATH_DBG_RESET, "%s -> %s\n",
modes[ah->power_mode], modes[mode]);

Expand Down Expand Up @@ -2863,8 +2868,7 @@ void ath9k_ps_wakeup(struct ath_softc *sc)
if (++sc->ps_usecount != 1)
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:
spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
Expand Down

0 comments on commit cbdec97

Please sign in to comment.