diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c index d1c021b62fe5abbe1609f25546895f5db0ed91bc..4431f0ffe1577ea02e14597fd8fb191b00c31489 100644 --- a/net/mac80211/pm.c +++ b/net/mac80211/pm.c @@ -37,8 +37,8 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) IEEE80211_MAX_QUEUE_MAP, IEEE80211_QUEUE_STOP_REASON_SUSPEND); - /* flush out all packets */ - synchronize_net(); + /* flush out all packets and station cleanup call_rcu()s */ + rcu_barrier(); ieee80211_flush_queues(local, NULL);