summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorLior David <liord@codeaurora.org>2017-05-03 15:11:10 +0300
committerLior David <liord@codeaurora.org>2017-05-03 15:11:10 +0300
commitebfdd0e1319704dc551c5aa152e70f8b185851cc (patch)
treeb446224a8d1921b754372449e0306cecc3c2749d /drivers/net
parente3c33c9d53650719b2302ca34738978d9df49c49 (diff)
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 <liord@codeaurora.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/wil6210/cfg80211.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c
index 37898146f01d..423cdecd7a95 100644
--- a/drivers/net/wireless/ath/wil6210/cfg80211.c
+++ b/drivers/net/wireless/ath/wil6210/cfg80211.c
@@ -26,6 +26,10 @@ bool disable_ap_sme;
module_param(disable_ap_sme, bool, 0444);
MODULE_PARM_DESC(disable_ap_sme, " let user space handle AP mode SME");
+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 = IEEE80211_BAND_60GHZ, \
.center_freq = 56160 + (2160 * (_channel)), \
@@ -1743,6 +1747,11 @@ static void wil_wiphy_init(struct wiphy *wiphy)
wiphy->vendor_commands = wil_nl80211_vendor_commands;
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;
+ }
}
struct wireless_dev *wil_cfg80211_init(struct device *dev)