Subject: [PATCH] ath9k: adjust tx power reduction for US regulatory domain
From: Felix Fietkau <[email-masked]>
Date: Wed, 19 Jul 2017 08:49:31 +0200

FCC regulatory rules allow for up to 6 dBi antenna gain. Account for
this in the EEPROM based tx power reduction code.

Signed-off-by: Felix Fietkau <[email-masked]>
---

--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2996,6 +2996,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 6 dBi */
+	if (reg->region == NL80211_DFS_FCC)
+		ant_reduction = max_t(int, ant_reduction - 12, 0);
+
 	ah->eep_ops->set_txpower(ah, chan, ctl,
 				 ant_reduction, new_pwr, test);
 }