mac80211: Use rcu_barrier() on unload.
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 <paulmck@linux.vnet.ibm.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
75de874f5c
commit
4a27096bbe
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue