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>
This commit is contained in:
Felix Fietkau 2017-07-19 08:54:53 +02:00
parent d72371e42b
commit 9b6585b11a

View file

@ -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);
}