Revert "ath: do not apply broken power limits with ATH_USER_REGD"

This reverts commit 79a768a90f.
Some devices can go over their power limits with this commit, so this
needs to be handled on a case by case basis instead

Signed-off-by: Felix Fietkau <nbd@nbd.name>
v19.07.3_mercusys_ac12_duma
Felix Fietkau 6 years ago
parent cc19aa3e71
commit 2389ebbd48

@ -57,19 +57,7 @@
if (!wiphy->bands[NL80211_BAND_5GHZ])
return;
@@ -544,6 +559,11 @@ void ath_reg_notifier_apply(struct wiphy
ath_reg_dyn_country(wiphy, reg, request);
break;
}
+
+ /* Prevent broken CTLs from being applied */
+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD) &&
+ reg->regpair != common->reg_world_copy.regpair)
+ reg->regpair = ath_get_regpair(WOR0_WORLD);
}
EXPORT_SYMBOL(ath_reg_notifier_apply);
@@ -639,6 +659,10 @@ ath_regd_init_wiphy(struct ath_regulator
@@ -639,6 +654,10 @@ ath_regd_init_wiphy(struct ath_regulator
const struct ieee80211_regdomain *regd;
wiphy->reg_notifier = reg_notifier;
@ -80,18 +68,6 @@
wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
REGULATORY_CUSTOM_REG;
@@ -767,10 +791,7 @@ ath_regd_init(struct ath_regulatory *reg
if (r)
return r;
- if (ath_is_world_regd(reg))
- memcpy(&common->reg_world_copy, reg,
- sizeof(struct ath_regulatory));
-
+ memcpy(&common->reg_world_copy, reg, sizeof(struct ath_regulatory));
ath_regd_init_wiphy(reg, wiphy, reg_notifier);
return 0;
--- a/drivers/net/wireless/ath/Kconfig
+++ b/drivers/net/wireless/ath/Kconfig
@@ -23,6 +23,9 @@ config WLAN_VENDOR_ATH

@ -39,7 +39,7 @@
bool ath_is_world_regd(struct ath_regulatory *reg)
{
return is_wwr_sku(ath_regd_get_eepromRD(reg));
@@ -663,6 +671,9 @@ ath_regd_init_wiphy(struct ath_regulator
@@ -658,6 +666,9 @@ ath_regd_init_wiphy(struct ath_regulator
if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
return 0;

Loading…
Cancel
Save