mirror of https://github.com/hak5/openwrt.git
46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
|
From 349626c9a263b41822a0c5a29061964b4a71ec3f Mon Sep 17 00:00:00 2001
|
||
|
From: Gabor Juhos <juhosg@openwrt.org>
|
||
|
Date: Thu, 23 Jul 2009 09:55:52 +0200
|
||
|
Subject: [PATCH 2/2] 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>
|
||
|
---
|
||
|
drivers/net/wireless/ath/ath9k/hw.c | 8 ++++++--
|
||
|
1 files changed, 6 insertions(+), 2 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||
|
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||
|
@@ -475,6 +475,8 @@ static struct ath_hw *ath9k_hw_newstate(
|
||
|
|
||
|
ah->gbeacon_rate = 0;
|
||
|
|
||
|
+ ah->power_mode = ATH9K_PM_UNDEFINED;
|
||
|
+
|
||
|
return ah;
|
||
|
}
|
||
|
|
||
|
@@ -2749,6 +2751,9 @@ static bool ath9k_hw_setpower_nolock(str
|
||
|
"UNDEFINED"
|
||
|
};
|
||
|
|
||
|
+ if (ah->power_mode == mode)
|
||
|
+ return status;
|
||
|
+
|
||
|
DPRINTF(ah->ah_sc, ATH_DBG_RESET, "%s -> %s\n",
|
||
|
modes[ah->power_mode], modes[mode]);
|
||
|
|
||
|
@@ -2793,8 +2798,7 @@ void ath9k_ps_wakeup(struct ath_softc *s
|
||
|
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);
|