mac80211: add missing rcu_barrier
authorJohannes Berg <johannes.berg@intel.com>
Sat, 14 May 2011 09:04:51 +0000 (11:04 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 16 May 2011 18:25:29 +0000 (14:25 -0400)
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@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/main.c

index 96ab1302a099f425c7d4a55584e31884d64c80b6..866f269183cf9a1532f317e3b9f52bc437a98213 100644 (file)
@@ -1090,6 +1090,8 @@ static void __exit ieee80211_exit(void)
                ieee80211s_stop();
 
        ieee80211_iface_exit();
+
+       rcu_barrier();
 }