ath: relax regulatory rules for default regd code
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 406-ath_relax_default_regd.patch
1 --- a/drivers/net/wireless/ath/regd.c
2 +++ b/drivers/net/wireless/ath/regd.c
3 @@ -114,10 +114,22 @@ static const struct ieee80211_regdomain
4 )
5 };
6
7 +static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg)
8 +{
9 + return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG;
10 +}
11 +
12 +static bool is_default_regd(struct ath_regulatory *reg)
13 +{
14 + return ath_regd_get_eepromRD(reg) == CTRY_DEFAULT;
15 +}
16 +
17 static bool dynamic_country_user_possible(struct ath_regulatory *reg)
18 {
19 if (config_enabled(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
20 return true;
21 + if (is_default_regd(reg))
22 + return true;
23
24 switch (reg->country_code) {
25 case CTRY_UNITED_STATES:
26 @@ -202,11 +214,6 @@ static inline bool is_wwr_sku(u16 regd)
27 (regd == WORLD));
28 }
29
30 -static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg)
31 -{
32 - return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG;
33 -}
34 -
35 bool ath_is_world_regd(struct ath_regulatory *reg)
36 {
37 return is_wwr_sku(ath_regd_get_eepromRD(reg));
38 @@ -650,6 +657,9 @@ ath_regd_init_wiphy(struct ath_regulator
39 return 0;
40 #endif
41
42 + if (is_default_regd(reg))
43 + return 0;
44 +
45 wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
46 REGULATORY_CUSTOM_REG;
47