[PATCH] staging: wfx: fix scan with WFM200 and WW regulation

Jerome Pouiller
2022-02-18T10:54:34Z

From: Riccardo Ferrazzo <rferrazzo@came.com>

Some variants of the WF200 disallow active scan on channel 12 and 13.
For these parts, the channels 12 and 13 are marked IEEE80211_CHAN_NO_IR.

However, the beacon hint procedure was removing the flag
IEEE80211_CHAN_NO_IR from channels where a BSS is discovered. This was
making subsequent scans to fail because the driver was trying active
scans on prohibited channels.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
---
drivers/staging/wfx/main.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c
index d832a22850c7..5999e81dc44d 100644
--- a/drivers/staging/wfx/main.c
+++ b/drivers/staging/wfx/main.c
@@ -381,6 +381,7 @@ int wfx_probe(struct wfx_dev *wdev)
}

if (wdev->hw_caps.region_sel_mode) {
+ wdev->hw->wiphy->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS;
wdev->hw->wiphy->bands[NL80211_BAND_2GHZ]->channels[11].flags |=
IEEE80211_CHAN_NO_IR;
wdev->hw->wiphy->bands[NL80211_BAND_2GHZ]->channels[12].flags |=
--
2.34.1