diff options
author | adrian <adrian@FreeBSD.org> | 2014-04-30 02:03:47 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2014-04-30 02:03:47 +0000 |
commit | baf3c683950c17d7841723ac7a5b7beb5ab2039a (patch) | |
tree | aaec3606e92a9f0546d28bc1b53dc8174e99ea21 | |
parent | 2d4d5ae9a144a043f5a79b2035b75fd6ec6e73aa (diff) | |
download | FreeBSD-src-baf3c683950c17d7841723ac7a5b7beb5ab2039a.zip FreeBSD-src-baf3c683950c17d7841723ac7a5b7beb5ab2039a.tar.gz |
Only track the power state variable if the power state is changed,
not if the self-generated frame state is changed.
-rw-r--r-- | sys/contrib/dev/ath/ath_hal/ar9300/ar9300_power.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_power.c b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_power.c index 629c40f..b842993 100644 --- a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_power.c +++ b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_power.c @@ -669,7 +669,8 @@ ar9300_set_power_mode(struct ath_hal *ah, HAL_POWER_MODE mode, int set_chip) switch (mode) { case HAL_PM_AWAKE: - ah->ah_powerMode = mode; + if (set_chip) + ah->ah_powerMode = mode; status = ar9300_set_power_mode_awake(ah, set_chip); #if ATH_SUPPORT_MCI if (AH_PRIVATE(ah)->ah_caps.halMciSupport) { @@ -699,8 +700,10 @@ ar9300_set_power_mode(struct ath_hal *ah, HAL_POWER_MODE mode, int set_chip) } #endif ar9300_set_power_mode_sleep(ah, set_chip); - ahp->ah_chip_full_sleep = AH_TRUE; - ah->ah_powerMode = mode; + if (set_chip) { + ahp->ah_chip_full_sleep = AH_TRUE; + ah->ah_powerMode = mode; + } break; case HAL_PM_NETWORK_SLEEP: #if ATH_SUPPORT_MCI @@ -709,7 +712,9 @@ ar9300_set_power_mode(struct ath_hal *ah, HAL_POWER_MODE mode, int set_chip) } #endif ar9300_set_power_mode_network_sleep(ah, set_chip); - ah->ah_powerMode = mode; + if (set_chip) { + ah->ah_powerMode = mode; + } break; default: HALDEBUG(ah, HAL_DEBUG_POWER_MGMT, |