aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2014-03-20 05:08:31 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2014-03-20 05:08:31 +0000
commitbd369abaac1ff48fde306e4b330e3f498272ebb9 (patch)
treeec5b67ef13f70ed86ddb81a54ea72c6dbf26cbef
parent410302eb584733afbe6baaaf52c950cabade07df (diff)
downloadsrc-bd369abaac1ff48fde306e4b330e3f498272ebb9.tar.gz
src-bd369abaac1ff48fde306e4b330e3f498272ebb9.zip
Shuffle ah_powerMode to be in a sane spot for the given power operation.
This way the state changes from sleep->awake before the registers are poked and from awake->sleep after the registers are poked. This way spurious warnings aren't printed by my (to be committed) debugging code. Tested: * AR5416, STA
Notes
Notes: svn path=/head/; revision=263417
-rw-r--r--sys/dev/ath/ath_hal/ar5416/ar5416_power.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_power.c b/sys/dev/ath/ath_hal/ar5416/ar5416_power.c
index bbd9b4c2b536..c70a8e7d5d57 100644
--- a/sys/dev/ath/ath_hal/ar5416/ar5416_power.c
+++ b/sys/dev/ath/ath_hal/ar5416/ar5416_power.c
@@ -140,20 +140,22 @@ ar5416SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip)
modes[ah->ah_powerMode], modes[mode], setChip ? "set chip " : "");
switch (mode) {
case HAL_PM_AWAKE:
+ ah->ah_powerMode = mode;
status = ar5416SetPowerModeAwake(ah, setChip);
break;
case HAL_PM_FULL_SLEEP:
ar5416SetPowerModeSleep(ah, setChip);
+ ah->ah_powerMode = mode;
break;
case HAL_PM_NETWORK_SLEEP:
ar5416SetPowerModeNetworkSleep(ah, setChip);
+ ah->ah_powerMode = mode;
break;
default:
HALDEBUG(ah, HAL_DEBUG_ANY, "%s: unknown power mode 0x%x\n",
__func__, mode);
return AH_FALSE;
}
- ah->ah_powerMode = mode;
return status;
}