Skip to content

Commit

Permalink
mac80211: filter probes in ieee80211_rx_mgmt_probe_resp
Browse files Browse the repository at this point in the history
This patch moves filtering statement from ieee80211_rx_bss_info
which is called for both beacon and probe to ieee80211_rx_mgmt_probe_resp
and save few cycles in beacon parsing.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Tomas Winkler authored and John W. Linville committed Aug 22, 2008
1 parent f698d85 commit 8e7cdbb
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions net/mac80211/mlme.c
Original file line number Diff line number Diff line change
Expand Up @@ -2550,9 +2550,6 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
DECLARE_MAC_BUF(mac);
DECLARE_MAC_BUF(mac2);

if (!beacon && memcmp(mgmt->da, sdata->dev->dev_addr, ETH_ALEN))
return; /* ignore ProbeResp to foreign address */

beacon_timestamp = le64_to_cpu(mgmt->u.beacon.timestamp);

if (ieee80211_vif_is_mesh(&sdata->vif) && elems->mesh_id &&
Expand Down Expand Up @@ -2870,6 +2867,9 @@ static void ieee80211_rx_mgmt_probe_resp(struct ieee80211_sub_if_data *sdata,
size_t baselen;
struct ieee802_11_elems elems;

if (memcmp(mgmt->da, sdata->dev->dev_addr, ETH_ALEN))
return; /* ignore ProbeResp to foreign address */

baselen = (u8 *) mgmt->u.probe_resp.variable - (u8 *) mgmt;
if (baselen > len)
return;
Expand Down

0 comments on commit 8e7cdbb

Please sign in to comment.