diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-10-22 18:17:35 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-10-23 14:02:07 -0400 |
commit | 763254516187015cb5b391553af35c6ed1f4bb36 (patch) | |
tree | 999871ba4b0ec97f99fd6fb482409181cd55b617 /drivers/net | |
parent | 4f2b244c7d5b81ce4f0c6c0382f3a3b7c2dbec1c (diff) | |
download | linux-763254516187015cb5b391553af35c6ed1f4bb36.tar.gz linux-763254516187015cb5b391553af35c6ed1f4bb36.tar.bz2 linux-763254516187015cb5b391553af35c6ed1f4bb36.zip |
ath9k_common: always update value in ath9k_cmn_update_txpow
In some cases the limit may be the same as reg->power_limit, but the
actual value that the hardware uses is not up to date. In that case, a
wrong value for current tx power is tracked internally.
Fix this by unconditionally updating it.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/common.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/common.c b/drivers/net/wireless/ath/ath9k/common.c index c6dd7f1fed65..33b0c7aef2ea 100644 --- a/drivers/net/wireless/ath/ath9k/common.c +++ b/drivers/net/wireless/ath/ath9k/common.c @@ -368,11 +368,11 @@ void ath9k_cmn_update_txpow(struct ath_hw *ah, u16 cur_txpow, { struct ath_regulatory *reg = ath9k_hw_regulatory(ah); - if (reg->power_limit != new_txpow) { + if (reg->power_limit != new_txpow) ath9k_hw_set_txpowerlimit(ah, new_txpow, false); - /* read back in case value is clamped */ - *txpower = reg->max_power_level; - } + + /* read back in case value is clamped */ + *txpower = reg->max_power_level; } EXPORT_SYMBOL(ath9k_cmn_update_txpow); |