aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2008-08-03 07:32:01 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-08-22 16:29:58 -0400
commit8e7cdbb6333ef7654e708bd60e50a123688dcd7b (patch)
tree571d6ebb1d12f2171338e82fcffd3d25f2cb8178 /net/mac80211/mlme.c
parentf698d856f65c3fea091cc303a135967965c5b880 (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.c6
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;