aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/libertas/main.c')
-rw-r--r--drivers/net/wireless/libertas/main.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index 9a46339ce47e..bcd845060d4a 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -1269,9 +1269,10 @@ int libertas_activate_card(wlan_private *priv)
1269 goto done; 1269 goto done;
1270 } 1270 }
1271 1271
1272 priv->assoc_thread = 1272 priv->work_thread = create_singlethread_workqueue("libertas_worker");
1273 create_singlethread_workqueue("libertas_assoc");
1274 INIT_DELAYED_WORK(&priv->assoc_work, libertas_association_worker); 1273 INIT_DELAYED_WORK(&priv->assoc_work, libertas_association_worker);
1274 INIT_DELAYED_WORK(&priv->scan_work, libertas_scan_worker);
1275
1275 INIT_WORK(&priv->sync_channel, libertas_sync_channel); 1276 INIT_WORK(&priv->sync_channel, libertas_sync_channel);
1276 1277
1277 /* 1278 /*
@@ -1305,7 +1306,7 @@ int libertas_activate_card(wlan_private *priv)
1305err_init_fw: 1306err_init_fw:
1306 priv->hw_unregister_dev(priv); 1307 priv->hw_unregister_dev(priv);
1307err_registerdev: 1308err_registerdev:
1308 destroy_workqueue(priv->assoc_thread); 1309 destroy_workqueue(priv->work_thread);
1309 /* Stop the thread servicing the interrupts */ 1310 /* Stop the thread servicing the interrupts */
1310 wake_up_interruptible(&priv->waitq); 1311 wake_up_interruptible(&priv->waitq);
1311 kthread_stop(priv->main_thread); 1312 kthread_stop(priv->main_thread);
@@ -1426,8 +1427,9 @@ int libertas_remove_card(wlan_private *priv)
1426 1427
1427 unregister_netdev(dev); 1428 unregister_netdev(dev);
1428 1429
1430 cancel_delayed_work(&priv->scan_work);
1429 cancel_delayed_work(&priv->assoc_work); 1431 cancel_delayed_work(&priv->assoc_work);
1430 destroy_workqueue(priv->assoc_thread); 1432 destroy_workqueue(priv->work_thread);
1431 1433
1432 if (adapter->psmode == WLAN802_11POWERMODEMAX_PSP) { 1434 if (adapter->psmode == WLAN802_11POWERMODEMAX_PSP) {
1433 adapter->psmode = WLAN802_11POWERMODECAM; 1435 adapter->psmode = WLAN802_11POWERMODECAM;