forked from luck/tmp_suning_uos_patched
mac80211: change workqueue back to non-freezeable
"mac80211: make workqueue freezable" made the mac80211 workqueue freezeable to prevent us from doing any work after the driver went away. This was fine before mac80211 had any suspend support. However, now we want to flush this workqueue in suspend(). Because the thread for a freezeable workqueue is stopped before the device class suspend() is called, flush_workqueue() will hang in the suspend-to-disk case. Converting it back to a non-freezeable queue will keep suspend from hanging. Moreover, since we flush the workqueue under RTNL and userspace is stopped, there won't be any new work in the workqueue until after resume. Thus we still don't have to worry about pinging the AP without hardware. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
dfe670121a
commit
30d3ef41b4
@ -858,7 +858,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
||||
mdev->set_multicast_list = ieee80211_master_set_multicast_list;
|
||||
|
||||
local->hw.workqueue =
|
||||
create_freezeable_workqueue(wiphy_name(local->hw.wiphy));
|
||||
create_singlethread_workqueue(wiphy_name(local->hw.wiphy));
|
||||
if (!local->hw.workqueue) {
|
||||
result = -ENOMEM;
|
||||
goto fail_workqueue;
|
||||
|
Loading…
Reference in New Issue
Block a user