[PATCH 2/5] mac80211: Use rcu_barrier() on unload.
From: Jesper Dangaard Brouer <hidden>
Date: 2009-06-26 20:45:50
Subsystem:
mac80211, the rest · Maintainers:
Johannes Berg, Linus Torvalds
From: Jesper Dangaard Brouer <hidden>
Date: 2009-06-26 20:45:50
Subsystem:
mac80211, the rest · Maintainers:
Johannes Berg, Linus Torvalds
The mac80211 module uses rcu_call() thus it should use rcu_barrier() on module unload. The rcu_barrier() is placed in mech.c ieee80211_stop_mesh() which is invoked from ieee80211_stop() in case vif.type == NL80211_IFTYPE_MESH_POINT. Acked-by: Paul E. McKenney <redacted> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Jesper Dangaard Brouer <redacted> --- net/mac80211/mesh.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index fc712e6..11cf45b 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c@@ -494,7 +494,7 @@ void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata) * should it be using the interface and enqueuing * frames at this very time on another CPU. */ - synchronize_rcu(); + rcu_barrier(); /* Wait for RX path and call_rcu()'s */ skb_queue_purge(&sdata->u.mesh.skb_queue); }