From: Jérôme Pouiller Date: Wed, 15 Apr 2020 16:11:39 +0000 (+0200) Subject: staging: wfx: align semantic of beacon filter with other filters X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b07357e02749b0858adf0314ff67abf5d523f03a;p=linux.git staging: wfx: align semantic of beacon filter with other filters Filters provided by HIF API are sometime inclusive, sometime exclusive. This patch align the behavior and name of the beacon filter with the other filters. Also avoid double negation: "disable filter" Signed-off-by: Jérôme Pouiller Link: https://lore.kernel.org/r/20200415161147.69738-13-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 8d2365a2e35bc..963cac83b6a8f 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -137,7 +137,7 @@ void wfx_update_filtering(struct wfx_vif *wvif) }; hif_set_rx_filter(wvif, wvif->filter_bssid, wvif->fwd_probe_req); - if (wvif->disable_beacon_filter) { + if (!wvif->filter_beacon) { hif_set_beacon_filter_table(wvif, 0, NULL); hif_beacon_filter_control(wvif, 0, 1); } else { @@ -215,9 +215,9 @@ void wfx_configure_filter(struct ieee80211_hw *hw, // Note: FIF_BCN_PRBRESP_PROMISC covers probe response and // beacons from other BSS if (*total_flags & FIF_BCN_PRBRESP_PROMISC) - wvif->disable_beacon_filter = true; + wvif->filter_beacon = false; else - wvif->disable_beacon_filter = false; + wvif->filter_beacon = true; if (*total_flags & FIF_ALLMULTI) { wvif->mcast_filter.enable = false; @@ -504,7 +504,7 @@ static void wfx_do_join(struct wfx_vif *wvif) * Disable filtering temporary to make sure the stack * receives at least one */ - wvif->disable_beacon_filter = true; + wvif->filter_beacon = false; wfx_update_filtering(wvif); } wfx_tx_unlock(wvif->wdev); @@ -706,7 +706,7 @@ void wfx_bss_info_changed(struct ieee80211_hw *hw, info->dtim_period); // We temporary forwarded beacon for join process. It is now no // more necessary. - wvif->disable_beacon_filter = false; + wvif->filter_beacon = true; wfx_update_filtering(wvif); } diff --git a/drivers/staging/wfx/wfx.h b/drivers/staging/wfx/wfx.h index a69d9c9c37b65..53ed4c137b198 100644 --- a/drivers/staging/wfx/wfx.h +++ b/drivers/staging/wfx/wfx.h @@ -90,7 +90,7 @@ struct wfx_vif { bool filter_bssid; bool fwd_probe_req; - bool disable_beacon_filter; + bool filter_beacon; unsigned long uapsd_mask; struct hif_req_set_bss_params bss_params;