diff options
-rw-r--r-- | drivers/net/wireless/hostap/hostap_ap.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_hw.c | 8 |
2 files changed, 10 insertions, 1 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) | |||
858 | return; | 858 | return; |
859 | } | 859 | } |
860 | 860 | ||
861 | flush_work_sync(&ap->add_sta_proc_queue); | ||
862 | |||
861 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT | 863 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT |
864 | flush_work_sync(&ap->wds_oper_queue); | ||
862 | if (ap->crypt) | 865 | if (ap->crypt) |
863 | ap->crypt->deinit(ap->crypt_priv); | 866 | ap->crypt->deinit(ap->crypt_priv); |
864 | ap->crypt = ap->crypt_priv = NULL; | 867 | ap->crypt = ap->crypt_priv = NULL; |
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c index b7cb165d612b..a8bddd81b4d1 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) | |||
3317 | 3317 | ||
3318 | unregister_netdev(local->dev); | 3318 | unregister_netdev(local->dev); |
3319 | 3319 | ||
3320 | flush_scheduled_work(); | 3320 | flush_work_sync(&local->reset_queue); |
3321 | flush_work_sync(&local->set_multicast_list_queue); | ||
3322 | flush_work_sync(&local->set_tim_queue); | ||
3323 | #ifndef PRISM2_NO_STATION_MODES | ||
3324 | flush_work_sync(&local->info_queue); | ||
3325 | #endif | ||
3326 | flush_work_sync(&local->comms_qual_update); | ||
3321 | 3327 | ||
3322 | lib80211_crypt_info_free(&local->crypt_info); | 3328 | lib80211_crypt_info_free(&local->crypt_info); |
3323 | 3329 | ||