staging: wfx: fix support for CSA
The WF200 is able to filter beacons. However, it uses a positive filter: any change to an IE not listed won't be reported. In current code, the changes in Channel Switch Announcement (CSA) are not reported to the host. Thus, it fixes the support for CSA in station mode. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20210913130203.1903622-11-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
07903f0147
commit
583f188e0c
|
@ -80,13 +80,18 @@ static void wfx_filter_beacon(struct wfx_vif *wvif, bool filter_beacon)
|
|||
.has_changed = 1,
|
||||
.no_longer = 1,
|
||||
.has_appeared = 1,
|
||||
}, {
|
||||
.ie_id = WLAN_EID_CHANNEL_SWITCH,
|
||||
.has_changed = 1,
|
||||
.no_longer = 1,
|
||||
.has_appeared = 1,
|
||||
}
|
||||
};
|
||||
|
||||
if (!filter_beacon) {
|
||||
hif_beacon_filter_control(wvif, 0, 1);
|
||||
} else {
|
||||
hif_set_beacon_filter_table(wvif, 3, filter_ies);
|
||||
hif_set_beacon_filter_table(wvif, ARRAY_SIZE(filter_ies), filter_ies);
|
||||
hif_beacon_filter_control(wvif, HIF_BEACON_FILTER_ENABLE, 0);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue