summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/hostap/hostap_ap.c
diff options
context:
space:
mode:
authorTejun Heo2010-12-12 16:45:15 +0100
committerTejun Heo2010-12-12 16:45:15 +0100
commit1635953305694ece16d99078ca6d32f3d4e7eb36 (patch)
tree32ccd6373048359f4e2fa49d922d9888b41abbe1 /drivers/net/wireless/hostap/hostap_ap.c
parenti2400m: drop i2400m_schedule_work() (diff)
downloadkernel-qcow2-linux-1635953305694ece16d99078ca6d32f3d4e7eb36.tar.gz
kernel-qcow2-linux-1635953305694ece16d99078ca6d32f3d4e7eb36.tar.xz
kernel-qcow2-linux-1635953305694ece16d99078ca6d32f3d4e7eb36.zip
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_ap.c')
-rw-r--r--drivers/net/wireless/hostap/hostap_ap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/hostap/hostap_ap.c b/drivers/net/wireless/hostap/hostap_ap.c
index dbb986946e1a..18d63f57777d 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -858,7 +858,10 @@ void hostap_free_data(struct ap_data *ap)
return;
}
+ flush_work_sync(&ap->add_sta_proc_queue);
+
#ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT
+ flush_work_sync(&ap->wds_oper_queue);
if (ap->crypt)
ap->crypt->deinit(ap->crypt_priv);
ap->crypt = ap->crypt_priv = NULL;