3394af677c
The ath patch number is already large and adding other patch for ath11k will add more confusion with the patch numbering. Since the support of ath11k based device is imminent, prepare the mac80211 ath patch dir and split it in the dedicated ath5k, ath9k, ath10k and ath11k (empty for now). Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Sat, 14 May 2016 14:51:02 +0200
|
|
Subject: [PATCH] Revert "ath9k: interpret requested txpower in EIRP
|
|
domain"
|
|
|
|
This reverts commit 71f5137bf010c6faffab50c0ec15374c59c4a411.
|
|
---
|
|
|
|
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
|
@@ -2977,7 +2977,8 @@ void ath9k_hw_apply_txpower(struct ath_h
|
|
{
|
|
struct ath_regulatory *reg = ath9k_hw_regulatory(ah);
|
|
struct ieee80211_channel *channel;
|
|
- int chan_pwr, new_pwr;
|
|
+ int chan_pwr, new_pwr, max_gain;
|
|
+ int ant_gain, ant_reduction = 0;
|
|
u16 ctl = NO_CTL;
|
|
|
|
if (!chan)
|
|
@@ -2989,9 +2990,14 @@ void ath9k_hw_apply_txpower(struct ath_h
|
|
channel = chan->chan;
|
|
chan_pwr = min_t(int, channel->max_power * 2, MAX_COMBINED_POWER);
|
|
new_pwr = min_t(int, chan_pwr, reg->power_limit);
|
|
+ max_gain = chan_pwr - new_pwr + channel->max_antenna_gain * 2;
|
|
+
|
|
+ ant_gain = get_antenna_gain(ah, chan);
|
|
+ if (ant_gain > max_gain)
|
|
+ ant_reduction = ant_gain - max_gain;
|
|
|
|
ah->eep_ops->set_txpower(ah, chan, ctl,
|
|
- get_antenna_gain(ah, chan), new_pwr, test);
|
|
+ ant_reduction, new_pwr, test);
|
|
}
|
|
|
|
void ath9k_hw_set_txpowerlimit(struct ath_hw *ah, u32 limit, bool test)
|