From dbc185de9da9ad8714bce2d906a77728d8889019 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 a2e5b6163bdd..17693bee4ed9 100644 --- a/drivers/net/wireless/ath/wil6210/cfg80211.c +++ b/drivers/net/wireless/ath/wil6210/cfg80211.c @@ -25,6 +25,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)), \ @@ -2174,6 +2178,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 -- GitLab