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

staging: wfx: align semantic of probe request filter with other filters



Filters provided by HIF API are sometime inclusive, sometime exclusive.

This patch align the behavior and name of the probe request filter with
the other filters.

Signed-off-by: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200415161147.69738-14-Jerome.Pouiller@silabs.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b07357e0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -90,13 +90,13 @@ int hif_set_macaddr(struct wfx_vif *wvif, u8 *mac)
}

int hif_set_rx_filter(struct wfx_vif *wvif,
		      bool filter_bssid, bool fwd_probe_req)
		      bool filter_bssid, bool filter_prbreq)
{
	struct hif_mib_rx_filter val = { };

	if (filter_bssid)
		val.bssid_filter = 1;
	if (fwd_probe_req)
	if (!filter_prbreq)
		val.fwd_probe_req = 1;
	return hif_write_mib(wvif->wdev, wvif->id, HIF_MIB_ID_RX_FILTER,
			     &val, sizeof(val));
+4 −4
Original line number Diff line number Diff line
@@ -136,7 +136,7 @@ void wfx_update_filtering(struct wfx_vif *wvif)
		}
	};

	hif_set_rx_filter(wvif, wvif->filter_bssid, wvif->fwd_probe_req);
	hif_set_rx_filter(wvif, wvif->filter_bssid, wvif->filter_prbreq);
	if (!wvif->filter_beacon) {
		hif_set_beacon_filter_table(wvif, 0, NULL);
		hif_beacon_filter_control(wvif, 0, 1);
@@ -242,11 +242,11 @@ void wfx_configure_filter(struct ieee80211_hw *hw,
		}

		if (*total_flags & FIF_PROBE_REQ)
			wvif->fwd_probe_req = true;
			wvif->filter_prbreq = false;
		else
			wvif->fwd_probe_req = false;
			wvif->filter_prbreq = true;
		hif_set_rx_filter(wvif, wvif->filter_bssid,
				  wvif->fwd_probe_req);
				  wvif->filter_prbreq);

		mutex_unlock(&wvif->scan_lock);
	}
+1 −1
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ struct wfx_vif {
	struct work_struct	update_tim_work;

	bool			filter_bssid;
	bool			fwd_probe_req;
	bool			filter_prbreq;
	bool			filter_beacon;

	unsigned long		uapsd_mask;