aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/regulatory.h5
-rw-r--r--net/wireless/reg.c3
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 */
127enum ieee80211_regulatory_flags { 131enum 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
134struct ieee80211_freq_range { 139struct 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)))