diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-08-03 07:32:01 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-08-22 16:29:58 -0400 |
commit | 8e7cdbb6333ef7654e708bd60e50a123688dcd7b (patch) | |
tree | 571d6ebb1d12f2171338e82fcffd3d25f2cb8178 /net/mac80211/mlme.c | |
parent | f698d856f65c3fea091cc303a135967965c5b880 (diff) |
mac80211: filter probes in ieee80211_rx_mgmt_probe_resp
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>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index fb8e1e742ca6..ae5a5cbabae3 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -2550,9 +2550,6 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata, | |||
2550 | DECLARE_MAC_BUF(mac); | 2550 | DECLARE_MAC_BUF(mac); |
2551 | DECLARE_MAC_BUF(mac2); | 2551 | DECLARE_MAC_BUF(mac2); |
2552 | 2552 | ||
2553 | if (!beacon && memcmp(mgmt->da, sdata->dev->dev_addr, ETH_ALEN)) | ||
2554 | return; /* ignore ProbeResp to foreign address */ | ||
2555 | |||
2556 | beacon_timestamp = le64_to_cpu(mgmt->u.beacon.timestamp); | 2553 | beacon_timestamp = le64_to_cpu(mgmt->u.beacon.timestamp); |
2557 | 2554 | ||
2558 | if (ieee80211_vif_is_mesh(&sdata->vif) && elems->mesh_id && | 2555 | if (ieee80211_vif_is_mesh(&sdata->vif) && elems->mesh_id && |
@@ -2870,6 +2867,9 @@ static void ieee80211_rx_mgmt_probe_resp(struct ieee80211_sub_if_data *sdata, | |||
2870 | size_t baselen; | 2867 | size_t baselen; |
2871 | struct ieee802_11_elems elems; | 2868 | struct ieee802_11_elems elems; |
2872 | 2869 | ||
2870 | if (memcmp(mgmt->da, sdata->dev->dev_addr, ETH_ALEN)) | ||
2871 | return; /* ignore ProbeResp to foreign address */ | ||
2872 | |||
2873 | baselen = (u8 *) mgmt->u.probe_resp.variable - (u8 *) mgmt; | 2873 | baselen = (u8 *) mgmt->u.probe_resp.variable - (u8 *) mgmt; |
2874 | if (baselen > len) | 2874 | if (baselen > len) |
2875 | return; | 2875 | return; |