From f0cfac46004fa101a179e7d8ee4d950e8ace0011 Mon Sep 17 00:00:00 2001 From: Lior David Date: Mon, 13 Nov 2017 09:55:30 +0200 Subject: [PATCH] wil6210: add option to ignore OTA regulatory hints On some platforms, the regulatory domain (country) is set using mechanisms external to WIFI, such as cellular modem and GPS. In these scenarios the regulatory hints that are received over the air (in beacons and similar) can conflict and even cause an incorrect country to be set. Add an option to ignore the OTA regulatory hints to better support such scenarios. Change-Id: Ia46fe2699f4cc9859713947c0153107462fdec06 Signed-off-by: Lior David [ailizaro@codeaurora.org: trivial conflict fixes] Signed-off-by: Alexei Avshalom Lazar --- drivers/net/wireless/ath/wil6210/cfg80211.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c index e9d358be7f11..6fcae5ce1b77 100644 --- a/drivers/net/wireless/ath/wil6210/cfg80211.c +++ b/drivers/net/wireless/ath/wil6210/cfg80211.c @@ -41,6 +41,10 @@ static struct wiphy_wowlan_support wil_wowlan_support = { }; #endif +static bool ignore_reg_hints = true; +module_param(ignore_reg_hints, bool, 0444); +MODULE_PARM_DESC(ignore_reg_hints, " Ignore OTA regulatory hints (Default: true)"); + #define CHAN60G(_channel, _flags) { \ .band = NL80211_BAND_60GHZ, \ .center_freq = 56160 + (2160 * (_channel)), \ @@ -2725,6 +2729,11 @@ static void wil_wiphy_init(struct wiphy *wiphy) wiphy->vendor_events = wil_nl80211_vendor_events; wiphy->n_vendor_events = ARRAY_SIZE(wil_nl80211_vendor_events); + if (ignore_reg_hints) { + wiphy->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS; + wiphy->regulatory_flags |= REGULATORY_COUNTRY_IE_IGNORE; + } + #ifdef CONFIG_PM wiphy->wowlan = &wil_wowlan_support; #endif