summaryrefslogtreecommitdiffstats
path: root/net/mac80211/pm.c
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2009-01-24 19:21:14 +0100
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 22:01:42 +0100
commite874e6585539f6706b8e5f96125c9fca89cce716 (patch)
treee934e488406b2de0c82e138601ff38243f13ca1f /net/mac80211/pm.c
parentmac80211: change workqueue back to non-freezeable (diff)
downloadlinux-e874e6585539f6706b8e5f96125c9fca89cce716.tar.xz
linux-e874e6585539f6706b8e5f96125c9fca89cce716.zip
mac80211: flush workqueue a second time in suspend()
Drivers can theoretically queue more work in one of their callbacks from mac80211 suspend, so let's flush it once more to be on the safe side, just before calling ->stop(). Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/pm.c')
-rw-r--r--net/mac80211/pm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c
index 6d17ed7fd49b..44525f517077 100644
--- a/net/mac80211/pm.c
+++ b/net/mac80211/pm.c
@@ -44,6 +44,9 @@ int __ieee80211_suspend(struct ieee80211_hw *hw)
}
}
+ /* flush again, in case driver queued work */
+ flush_workqueue(local->hw.workqueue);
+
/* stop hardware */
if (local->open_count) {
ieee80211_led_radio(local, false);