ath9k: adjust tx power reduction for US regulatory domain
authorFelix Fietkau <nbd@nbd.name>
Wed, 19 Jul 2017 06:54:53 +0000 (08:54 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 24 Jul 2017 08:47:55 +0000 (10:47 +0200)
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>
package/kernel/mac80211/patches/330-ath9k-adjust-tx-power-reduction-for-US-regulatory-do.patch [new file with mode: 0644]

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 (file)
index 0000000..38b5264
--- /dev/null
@@ -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);
+ }