aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/rx.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-09-10 18:01:49 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-09-15 16:48:20 -0400
commit472dbc45dc1966284de72d7de15690c17ed2cf33 (patch)
treee8bfb88067f7fd8845978d1613f868e6a4499999 /net/mac80211/rx.c
parent7c95069522d02ff144cd421be6618dce619caf7e (diff)
mac80211: split off mesh handling entirely
This patch splits off mesh handling from the STA/IBSS. Unfortunately it increases mesh code size a bit, but I think it makes things clearer. The patch also reduces per-interface run-time memory usage. Also clean up a few places where ifdef is not required. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r--net/mac80211/rx.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index d0803797902..208563a27bc 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1404,7 +1404,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
1404 1404
1405 if (rx->flags & IEEE80211_RX_RA_MATCH) { 1405 if (rx->flags & IEEE80211_RX_RA_MATCH) {
1406 if (!mesh_hdr->ttl) 1406 if (!mesh_hdr->ttl)
1407 IEEE80211_IFSTA_MESH_CTR_INC(&rx->sdata->u.sta, 1407 IEEE80211_IFSTA_MESH_CTR_INC(&rx->sdata->u.mesh,
1408 dropped_frames_ttl); 1408 dropped_frames_ttl);
1409 else { 1409 else {
1410 struct ieee80211_hdr *fwd_hdr; 1410 struct ieee80211_hdr *fwd_hdr;
@@ -1591,9 +1591,11 @@ ieee80211_rx_h_mgmt(struct ieee80211_rx_data *rx)
1591 if (!(rx->flags & IEEE80211_RX_RA_MATCH)) 1591 if (!(rx->flags & IEEE80211_RX_RA_MATCH))
1592 return RX_DROP_MONITOR; 1592 return RX_DROP_MONITOR;
1593 1593
1594 if (ieee80211_vif_is_mesh(&sdata->vif))
1595 return ieee80211_mesh_rx_mgmt(sdata, rx->skb, rx->status);
1596
1594 if (sdata->vif.type != IEEE80211_IF_TYPE_STA && 1597 if (sdata->vif.type != IEEE80211_IF_TYPE_STA &&
1595 sdata->vif.type != IEEE80211_IF_TYPE_IBSS && 1598 sdata->vif.type != IEEE80211_IF_TYPE_IBSS)
1596 sdata->vif.type != IEEE80211_IF_TYPE_MESH_POINT)
1597 return RX_DROP_MONITOR; 1599 return RX_DROP_MONITOR;
1598 1600
1599 if (sdata->flags & IEEE80211_SDATA_USERSPACE_MLME) 1601 if (sdata->flags & IEEE80211_SDATA_USERSPACE_MLME)