OpenWrt – Rev 1

Subversion Repositories:
Rev:
--- a/drivers/net/wireless/ath/regd.c
+++ b/drivers/net/wireless/ath/regd.c
@@ -115,6 +115,16 @@ 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 (IS_ENABLED(CPTCFG_ATH_USER_REGD))
@@ -123,6 +133,9 @@ static bool dynamic_country_user_possibl
        if (IS_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:
        case CTRY_JAPAN1:
@@ -208,11 +221,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));
@@ -658,6 +666,9 @@ ath_regd_init_wiphy(struct ath_regulator
        if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
                return 0;
 
+       if (is_default_regd(reg))
+               return 0;
+
        wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
                                   REGULATORY_CUSTOM_REG;