]> err.no Git - linux-2.6/blobdiff - drivers/net/wireless/rt2x00/rt2x00dev.c
rt2x00: Use ieee80211_hw->workqueue again
[linux-2.6] / drivers / net / wireless / rt2x00 / rt2x00dev.c
index 41b3289b82810b4bbd437b198c63c2c6c3898bd1..8086263e5fa525ac74c0fb071dcdfb615b00b02f 100644 (file)
@@ -74,7 +74,7 @@ static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
 
        rt2x00lib_reset_link_tuner(rt2x00dev);
 
-       queue_delayed_work(rt2x00dev->workqueue,
+       queue_delayed_work(rt2x00dev->hw->workqueue,
                           &rt2x00dev->link.work, LINK_TUNE_INTERVAL);
 }
 
@@ -392,7 +392,7 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
         * Increase tuner counter, and reschedule the next link tuner run.
         */
        rt2x00dev->link.count++;
-       queue_delayed_work(rt2x00dev->workqueue,
+       queue_delayed_work(rt2x00dev->hw->workqueue,
                           &rt2x00dev->link.work, LINK_TUNE_INTERVAL);
 }
 
@@ -496,7 +496,7 @@ void rt2x00lib_beacondone(struct rt2x00_dev *rt2x00dev)
                                                   rt2x00lib_beacondone_iter,
                                                   rt2x00dev);
 
-       queue_work(rt2x00dev->workqueue, &rt2x00dev->intf_work);
+       schedule_work(&rt2x00dev->intf_work);
 }
 EXPORT_SYMBOL_GPL(rt2x00lib_beacondone);
 
@@ -1064,10 +1064,6 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
        /*
         * Initialize configuration work.
         */
-       rt2x00dev->workqueue = create_singlethread_workqueue("rt2x00lib");
-       if (!rt2x00dev->workqueue)
-               goto exit;
-
        INIT_WORK(&rt2x00dev->intf_work, rt2x00lib_intf_scheduled);
        INIT_WORK(&rt2x00dev->filter_work, rt2x00lib_packetfilter_scheduled);
        INIT_DELAYED_WORK(&rt2x00dev->link.work, rt2x00lib_link_tuner);
@@ -1127,13 +1123,6 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev)
        rt2x00rfkill_free(rt2x00dev);
        rt2x00leds_unregister(rt2x00dev);
 
-       /*
-        * Stop all queued work. Note that most tasks will already be halted
-        * during rt2x00lib_disable_radio() and rt2x00lib_uninitialize().
-        */
-       flush_workqueue(rt2x00dev->workqueue);
-       destroy_workqueue(rt2x00dev->workqueue);
-
        /*
         * Free ieee80211_hw memory.
         */