summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/hostap/hostap_hw.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-12-12 16:45:15 +0100
committerTejun Heo <tj@kernel.org>2010-12-12 16:45:15 +0100
commit1635953305694ece16d99078ca6d32f3d4e7eb36 (patch)
tree32ccd6373048359f4e2fa49d922d9888b41abbe1 /drivers/net/wireless/hostap/hostap_hw.c
parent781ba4567698be9db7ca94d827c4b38d8583c168 (diff)
hostap: don't use flush_scheduled_work()
flush_scheduled_work() is on its way out. Drop flush_scheduled_work() from prism2_free_local_data() and replace it with explicit flushing of work items on the respective free functions. Work items in ap_data are flushed from hostap_free_data() and the ones in local_info from prism2_free_local_data(). Flush is used instead of cancel as some process and free items from queue. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jes Sorensen <jes@trained-monkey.org> Cc: netdev@vger.kernel.org
Diffstat (limited to 'drivers/net/wireless/hostap/hostap_hw.c')
-rw-r--r--drivers/net/wireless/hostap/hostap_hw.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index b7cb165d612..a8bddd81b4d 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -3317,7 +3317,13 @@ static void prism2_free_local_data(struct net_device *dev)
unregister_netdev(local->dev);
- flush_scheduled_work();
+ flush_work_sync(&local->reset_queue);
+ flush_work_sync(&local->set_multicast_list_queue);
+ flush_work_sync(&local->set_tim_queue);
+#ifndef PRISM2_NO_STATION_MODES
+ flush_work_sync(&local->info_queue);
+#endif
+ flush_work_sync(&local->comms_qual_update);
lib80211_crypt_info_free(&local->crypt_info);