mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
48 lines
1.1 KiB
Diff
48 lines
1.1 KiB
Diff
|
--- 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;
|
||
|
|