Revert "ath: do not apply broken power limits with ATH_USER_REGD"
authorFelix Fietkau <nbd@nbd.name>
Wed, 28 Feb 2018 20:10:32 +0000 (21:10 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 1 Mar 2018 12:35:30 +0000 (13:35 +0100)
This reverts commit 79a768a90fa94c0a38c9def1992cc974c091e286.
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>
package/kernel/mac80211/patches/402-ath_regd_optional.patch
package/kernel/mac80211/patches/406-ath_relax_default_regd.patch

index edd4ce26bf6bef2dab5c243f69670e225a04e59f..8fa56f40a463632490d0c4f15696c1a5769ce3cc 100644 (file)
        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;
        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
index 44e8f3281cc06814673b077dbac43da29334fe1b..35b0f2b76eff9b1fd0f69c98aaaf61da8ac59921 100644 (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;