diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-07-27 15:01:05 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-08 16:04:17 -0400 |
commit | 9c204b46c7af93e334114bea1f5eeaa6fea9ba07 (patch) | |
tree | 0de1dd9a9fa0644b141087e4e525c7d40af2e559 /drivers/net/wireless | |
parent | 071bfefd6849e9acc12ca26f4f897cd907e81d1b (diff) |
ath9k_hw: do not limit initial tx power to 20 dbm
When testing for tx power, bypass the default limits.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 8dcefe74f4c..cb0b6aab711 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -2439,15 +2439,18 @@ void ath9k_hw_set_txpowerlimit(struct ath_hw *ah, u32 limit, bool test) struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah); struct ath9k_channel *chan = ah->curchan; struct ieee80211_channel *channel = chan->chan; + int reg_pwr = min_t(int, MAX_RATE_POWER, regulatory->power_limit); + int chan_pwr = channel->max_power * 2; + + if (test) + reg_pwr = chan_pwr = MAX_RATE_POWER; regulatory->power_limit = min(limit, (u32) MAX_RATE_POWER); ah->eep_ops->set_txpower(ah, chan, ath9k_regd_get_ctl(regulatory, chan), channel->max_antenna_gain * 2, - channel->max_power * 2, - min((u32) MAX_RATE_POWER, - (u32) regulatory->power_limit), test); + chan_pwr, reg_pwr, test); } EXPORT_SYMBOL(ath9k_hw_set_txpowerlimit); |