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>
openwrt-18.06
Felix Fietkau 2018-02-28 21:10:32 +01:00
parent cc19aa3e71
commit 2389ebbd48
2 changed files with 2 additions and 26 deletions

View File

@ -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

View File

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