Maya Erez <[email protected]> writes:

> 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.
>
> Signed-off-by: Lior David <[email protected]>
> Signed-off-by: Maya Erez <[email protected]>
> ---
>  drivers/net/wireless/ath/wil6210/cfg80211.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c 
> b/drivers/net/wireless/ath/wil6210/cfg80211.c
> index 567fe43..0f297c0 100644
> --- a/drivers/net/wireless/ath/wil6210/cfg80211.c
> +++ b/drivers/net/wireless/ath/wil6210/cfg80211.c
> @@ -26,6 +26,11 @@
>  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;
> +module_param(ignore_reg_hints, bool, 0444);
> +MODULE_PARM_DESC(ignore_reg_hints,
> +              " Ignore OTA regulatory hints (Default: false)");
> +
>  #define CHAN60G(_channel, _flags) {                          \
>       .band                   = NL80211_BAND_60GHZ,           \
>       .center_freq            = 56160 + (2160 * (_channel)),  \
> @@ -1763,6 +1768,11 @@ static void wil_wiphy_init(struct wiphy *wiphy)
>  
>       wiphy->n_vendor_commands = ARRAY_SIZE(wil_nl80211_vendor_commands);
>       wiphy->vendor_commands = wil_nl80211_vendor_commands;
> +
> +     if (ignore_reg_hints) {
> +             wiphy->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS;
> +             wiphy->regulatory_flags |= REGULATORY_COUNTRY_IE_IGNORE;
> +     }

I wonder should something like this be in cfg80211? Because I doubt
wil6210 is the only driver having this problem.

-- 
Kalle Valo

Reply via email to