Commit b07357e0 authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Greg Kroah-Hartman
Browse files

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: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200415161147.69738-13-Jerome.Pouiller@silabs.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 824f830f
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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);
	}

+1 −1
Original line number Diff line number Diff line
@@ -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;