35868234e7
Use max_t instead of min_t to prevent the value from going below zero Signed-off-by: Felix Fietkau <nbd@nbd.name>
23 lines
755 B
Diff
23 lines
755 B
Diff
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 = max_t(int, ant_reduction - 6, 0);
|
|
+
|
|
ah->eep_ops->set_txpower(ah, chan, ctl, ant_reduction, new_pwr, test);
|
|
}
|
|
|