d6431df9c1
SVN-Revision: 27788
25 lines
842 B
Diff
25 lines
842 B
Diff
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
|
@@ -2442,15 +2442,18 @@ void ath9k_hw_set_txpowerlimit(struct at
|
|
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);
|
|
|
|
|