From: Johannes Berg <johannes.berg@xxxxxxxxx> mac80211 uses call_rcu() with functions that are defined in the module, so it must use rcu_barrier() at module exit time. Luckily, this seems to not be a problem in practice as module unload and unregistration takes a long time and probably does multiple synchronize_rcu(). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> --- Might want to apply this before the mesh patch that uses call_rcu I just sent a few minutes ago. net/mac80211/main.c | 2 ++ 1 file changed, 2 insertions(+) --- a/net/mac80211/main.c 2011-05-14 11:01:03.000000000 +0200 +++ b/net/mac80211/main.c 2011-05-14 11:01:42.000000000 +0200 @@ -1090,6 +1090,8 @@ static void __exit ieee80211_exit(void) ieee80211s_stop(); ieee80211_iface_exit(); + + rcu_barrier(); } -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html