aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2008-05-07 11:44:20 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-21 21:47:42 -0400
commit5194ee82b4aafc35b32c96db11bdacea9bf548be (patch)
treef8d774ace25060590bf73763ba62be46822f65e0 /net/mac80211
parent402d7752ed253369b7ab037e2d778e52d59c19ed (diff)
mac80211: Fix one more call to synchronize_rcu in atomic context.
(This set applies OK without the previous one of 4 patches, but with some fuzz in the 7th one) The mesh_path_node_free() does so under hashwlock. But, this one is called 1. from mesh_path_add() after an old hash is hidden and synchronize_rcu() is calld 2. mesh_pathtbl_unregister(), when the module is being unloaded and no devices exist to mess with this hash. So, it seems to me, that simply removing the call is OK. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/mesh_pathtbl.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
index 7097ef981991..0b6c4bfe3e78 100644
--- a/net/mac80211/mesh_pathtbl.c
+++ b/net/mac80211/mesh_pathtbl.c
@@ -458,7 +458,6 @@ static void mesh_path_node_free(struct hlist_node *p, bool free_leafs)
458 struct mpath_node *node = hlist_entry(p, struct mpath_node, list); 458 struct mpath_node *node = hlist_entry(p, struct mpath_node, list);
459 mpath = node->mpath; 459 mpath = node->mpath;
460 hlist_del_rcu(p); 460 hlist_del_rcu(p);
461 synchronize_rcu();
462 if (free_leafs) 461 if (free_leafs)
463 kfree(mpath); 462 kfree(mpath);
464 kfree(node); 463 kfree(node);