diff options
-rw-r--r-- | include/net/regulatory.h | 5 | ||||
-rw-r--r-- | net/wireless/reg.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/net/regulatory.h b/include/net/regulatory.h index b03ddee3341d..92ab80f69efe 100644 --- a/include/net/regulatory.h +++ b/include/net/regulatory.h | |||
@@ -123,12 +123,17 @@ struct regulatory_request { | |||
123 | * derived from the regulatory domain. The regulatory domain used will be | 123 | * derived from the regulatory domain. The regulatory domain used will be |
124 | * based on the ISO3166-alpha2 from country IE provided through | 124 | * based on the ISO3166-alpha2 from country IE provided through |
125 | * regulatory_hint_country_ie() | 125 | * regulatory_hint_country_ie() |
126 | * @REGULATORY_COUNTRY_IE_IGNORE: for devices that have a preference to ignore | ||
127 | * all country IE information processed by the regulatory core. This will | ||
128 | * override %REGULATORY_COUNTRY_IE_FOLLOW_POWER as all country IEs will | ||
129 | * be ignored. | ||
126 | */ | 130 | */ |
127 | enum ieee80211_regulatory_flags { | 131 | enum ieee80211_regulatory_flags { |
128 | REGULATORY_CUSTOM_REG = BIT(0), | 132 | REGULATORY_CUSTOM_REG = BIT(0), |
129 | REGULATORY_STRICT_REG = BIT(1), | 133 | REGULATORY_STRICT_REG = BIT(1), |
130 | REGULATORY_DISABLE_BEACON_HINTS = BIT(2), | 134 | REGULATORY_DISABLE_BEACON_HINTS = BIT(2), |
131 | REGULATORY_COUNTRY_IE_FOLLOW_POWER = BIT(3), | 135 | REGULATORY_COUNTRY_IE_FOLLOW_POWER = BIT(3), |
136 | REGULATORY_COUNTRY_IE_IGNORE = BIT(4), | ||
132 | }; | 137 | }; |
133 | 138 | ||
134 | struct ieee80211_freq_range { | 139 | struct ieee80211_freq_range { |
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 6b3051f6a8a7..067c1f63a1ae 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c | |||
@@ -1543,6 +1543,9 @@ __reg_process_hint_country_ie(struct wiphy *wiphy, | |||
1543 | if (regdom_changes(country_ie_request->alpha2)) | 1543 | if (regdom_changes(country_ie_request->alpha2)) |
1544 | return REG_REQ_IGNORE; | 1544 | return REG_REQ_IGNORE; |
1545 | return REG_REQ_ALREADY_SET; | 1545 | return REG_REQ_ALREADY_SET; |
1546 | } else { | ||
1547 | if (wiphy->regulatory_flags & REGULATORY_COUNTRY_IE_IGNORE) | ||
1548 | return REG_REQ_IGNORE; | ||
1546 | } | 1549 | } |
1547 | 1550 | ||
1548 | if (unlikely(!is_an_alpha2(country_ie_request->alpha2))) | 1551 | if (unlikely(!is_an_alpha2(country_ie_request->alpha2))) |