staging: wfx: fix scan with WFM200 and WW regulation
authorRiccardo Ferrazzo <rferrazzo@came.com>
Fri, 18 Feb 2022 10:53:58 +0000 (11:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Feb 2022 17:03:41 +0000 (18:03 +0100)
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: Riccardo Ferrazzo <rferrazzo@came.com>
Reviewed-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20220218105358.283769-1-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/main.c

index d832a22850c7f2adc7b9a433511d08022d84704b..5999e81dc44d7d74a7862db32e5d98476de52a6a 100644 (file)
@@ -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 |=