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