diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-09-10 18:01:49 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-09-15 16:48:20 -0400 |
commit | 472dbc45dc1966284de72d7de15690c17ed2cf33 (patch) | |
tree | e8bfb88067f7fd8845978d1613f868e6a4499999 /net/mac80211/mesh_pathtbl.c | |
parent | 7c95069522d02ff144cd421be6618dce619caf7e (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/mesh_pathtbl.c')
-rw-r--r-- | net/mac80211/mesh_pathtbl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index 0a60f55f32ab..e4fa2905fadc 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c | |||
@@ -153,7 +153,7 @@ int mesh_path_add(u8 *dst, struct ieee80211_sub_if_data *sdata) | |||
153 | if (is_multicast_ether_addr(dst)) | 153 | if (is_multicast_ether_addr(dst)) |
154 | return -ENOTSUPP; | 154 | return -ENOTSUPP; |
155 | 155 | ||
156 | if (atomic_add_unless(&sdata->u.sta.mpaths, 1, MESH_MAX_MPATHS) == 0) | 156 | if (atomic_add_unless(&sdata->u.mesh.mpaths, 1, MESH_MAX_MPATHS) == 0) |
157 | return -ENOSPC; | 157 | return -ENOSPC; |
158 | 158 | ||
159 | err = -ENOMEM; | 159 | err = -ENOMEM; |
@@ -221,7 +221,7 @@ err_exists: | |||
221 | err_node_alloc: | 221 | err_node_alloc: |
222 | kfree(new_mpath); | 222 | kfree(new_mpath); |
223 | err_path_alloc: | 223 | err_path_alloc: |
224 | atomic_dec(&sdata->u.sta.mpaths); | 224 | atomic_dec(&sdata->u.mesh.mpaths); |
225 | return err; | 225 | return err; |
226 | } | 226 | } |
227 | 227 | ||
@@ -306,7 +306,7 @@ static void mesh_path_node_reclaim(struct rcu_head *rp) | |||
306 | struct ieee80211_sub_if_data *sdata = node->mpath->sdata; | 306 | struct ieee80211_sub_if_data *sdata = node->mpath->sdata; |
307 | 307 | ||
308 | del_timer_sync(&node->mpath->timer); | 308 | del_timer_sync(&node->mpath->timer); |
309 | atomic_dec(&sdata->u.sta.mpaths); | 309 | atomic_dec(&sdata->u.mesh.mpaths); |
310 | kfree(node->mpath); | 310 | kfree(node->mpath); |
311 | kfree(node); | 311 | kfree(node); |
312 | } | 312 | } |
@@ -401,7 +401,7 @@ void mesh_path_discard_frame(struct sk_buff *skb, | |||
401 | } | 401 | } |
402 | 402 | ||
403 | kfree_skb(skb); | 403 | kfree_skb(skb); |
404 | sdata->u.sta.mshstats.dropped_frames_no_route++; | 404 | sdata->u.mesh.mshstats.dropped_frames_no_route++; |
405 | } | 405 | } |
406 | 406 | ||
407 | /** | 407 | /** |