mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Add latest and patched mac80211 ans hostapd packages
This commit is contained in:
parent
e5395f65eb
commit
bdff38dfc4
321 changed files with 36273 additions and 0 deletions
|
@ -0,0 +1,47 @@
|
|||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Wed, 22 Mar 2017 20:37:04 +0100
|
||||
Subject: [PATCH] ath9k_hw: fix channel maximum power level test
|
||||
|
||||
The tx power applied by set_txpower is limited by the CTL (conformance
|
||||
test limit) entries in the EEPROM. These can change based on the user
|
||||
configured regulatory domain.
|
||||
Depending on the EEPROM data this can cause the tx power to become too
|
||||
limited, if the original regdomain CTLs impose lowr limits than the CTLs
|
||||
of the user configured regdomain.
|
||||
|
||||
To fix this issue, set the initial channel limits without any CTL
|
||||
restrictions and only apply the CTL at run time when setting the channel
|
||||
and the real tx power.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -2937,10 +2937,14 @@ void ath9k_hw_apply_txpower(struct ath_h
|
||||
struct ieee80211_channel *channel;
|
||||
int chan_pwr, new_pwr, max_gain;
|
||||
int ant_gain, ant_reduction = 0;
|
||||
+ u16 ctl = NO_CTL;
|
||||
|
||||
if (!chan)
|
||||
return;
|
||||
|
||||
+ if (!test)
|
||||
+ ctl = ath9k_regd_get_ctl(reg, chan);
|
||||
+
|
||||
channel = chan->chan;
|
||||
chan_pwr = min_t(int, channel->max_power * 2, MAX_RATE_POWER);
|
||||
new_pwr = min_t(int, chan_pwr, reg->power_limit);
|
||||
@@ -2950,9 +2954,7 @@ void ath9k_hw_apply_txpower(struct ath_h
|
||||
if (ant_gain > max_gain)
|
||||
ant_reduction = ant_gain - max_gain;
|
||||
|
||||
- ah->eep_ops->set_txpower(ah, chan,
|
||||
- ath9k_regd_get_ctl(reg, chan),
|
||||
- ant_reduction, new_pwr, test);
|
||||
+ ah->eep_ops->set_txpower(ah, chan, ctl, ant_reduction, new_pwr, test);
|
||||
}
|
||||
|
||||
void ath9k_hw_set_txpowerlimit(struct ath_hw *ah, u32 limit, bool test)
|
Loading…
Add table
Add a link
Reference in a new issue