aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-07-19 08:54:53 +0200
committerFelix Fietkau <nbd@nbd.name>2017-07-24 10:47:55 +0200
commit9b6585b11a48c62566418b920afe14204f40f87b (patch)
tree4a4e8ff264b57abb31eac33ca3db793ae9dc603c /package/kernel/mac80211
parentd72371e42bd5b8738a75a75d970bc73b90cd9839 (diff)
downloadupstream-9b6585b11a48c62566418b920afe14204f40f87b.tar.gz
upstream-9b6585b11a48c62566418b920afe14204f40f87b.tar.bz2
upstream-9b6585b11a48c62566418b920afe14204f40f87b.zip
ath9k: adjust tx power reduction for US regulatory domain
FCC regulatory rules allow for up to 3 dBi antenna gain. Account for this in the EEPROM based tx power reduction code. Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel/mac80211')
-rw-r--r--package/kernel/mac80211/patches/330-ath9k-adjust-tx-power-reduction-for-US-regulatory-do.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/330-ath9k-adjust-tx-power-reduction-for-US-regulatory-do.patch b/package/kernel/mac80211/patches/330-ath9k-adjust-tx-power-reduction-for-US-regulatory-do.patch
new file mode 100644
index 0000000000..38b52644a3
--- /dev/null
+++ b/package/kernel/mac80211/patches/330-ath9k-adjust-tx-power-reduction-for-US-regulatory-do.patch
@@ -0,0 +1,23 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Wed, 19 Jul 2017 08:49:31 +0200
+Subject: [PATCH] ath9k: adjust tx power reduction for US regulatory domain
+
+FCC regulatory rules allow for up to 3 dBi antenna gain. Account for
+this in the EEPROM based tx power reduction code.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/drivers/net/wireless/ath/ath9k/hw.c
++++ b/drivers/net/wireless/ath/ath9k/hw.c
+@@ -2954,6 +2954,10 @@ void ath9k_hw_apply_txpower(struct ath_h
+ if (ant_gain > max_gain)
+ ant_reduction = ant_gain - max_gain;
+
++ /* FCC allows maximum antenna gain of 3 dBi */
++ if (reg->region == NL80211_DFS_FCC)
++ ant_reduction = min_t(int, ant_reduction - 6, 0);
++
+ ah->eep_ops->set_txpower(ah, chan, ctl, ant_reduction, new_pwr, test);
+ }
+