|
|
@@ -0,0 +1,47 @@
|
|
|
+--- a/drivers/net/wireless/ath/regd.c
|
|
|
++++ b/drivers/net/wireless/ath/regd.c
|
|
|
+@@ -114,10 +114,22 @@ static const struct ieee80211_regdomain
|
|
|
+ )
|
|
|
+ };
|
|
|
+
|
|
|
++static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg)
|
|
|
++{
|
|
|
++ return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG;
|
|
|
++}
|
|
|
++
|
|
|
++static bool is_default_regd(struct ath_regulatory *reg)
|
|
|
++{
|
|
|
++ return ath_regd_get_eepromRD(reg) == CTRY_DEFAULT;
|
|
|
++}
|
|
|
++
|
|
|
+ static bool dynamic_country_user_possible(struct ath_regulatory *reg)
|
|
|
+ {
|
|
|
+ if (config_enabled(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
|
|
|
+ return true;
|
|
|
++ if (is_default_regd(reg))
|
|
|
++ return true;
|
|
|
+
|
|
|
+ switch (reg->country_code) {
|
|
|
+ case CTRY_UNITED_STATES:
|
|
|
+@@ -202,11 +214,6 @@ static inline bool is_wwr_sku(u16 regd)
|
|
|
+ (regd == WORLD));
|
|
|
+ }
|
|
|
+
|
|
|
+-static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg)
|
|
|
+-{
|
|
|
+- return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG;
|
|
|
+-}
|
|
|
+-
|
|
|
+ bool ath_is_world_regd(struct ath_regulatory *reg)
|
|
|
+ {
|
|
|
+ return is_wwr_sku(ath_regd_get_eepromRD(reg));
|
|
|
+@@ -650,6 +657,9 @@ ath_regd_init_wiphy(struct ath_regulator
|
|
|
+ return 0;
|
|
|
+ #endif
|
|
|
+
|
|
|
++ if (is_default_regd(reg))
|
|
|
++ return 0;
|
|
|
++
|
|
|
+ wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
|
|
|
+ REGULATORY_CUSTOM_REG;
|
|
|
+
|