|
@@ -74,7 +74,7 @@ static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
|
|
|
|
|
|
rt2x00lib_reset_link_tuner(rt2x00dev);
|
|
rt2x00lib_reset_link_tuner(rt2x00dev);
|
|
|
|
|
|
- queue_delayed_work(rt2x00dev->workqueue,
|
|
|
|
|
|
+ queue_delayed_work(rt2x00dev->hw->workqueue,
|
|
&rt2x00dev->link.work, LINK_TUNE_INTERVAL);
|
|
&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.
|
|
* Increase tuner counter, and reschedule the next link tuner run.
|
|
*/
|
|
*/
|
|
rt2x00dev->link.count++;
|
|
rt2x00dev->link.count++;
|
|
- queue_delayed_work(rt2x00dev->workqueue,
|
|
|
|
|
|
+ queue_delayed_work(rt2x00dev->hw->workqueue,
|
|
&rt2x00dev->link.work, LINK_TUNE_INTERVAL);
|
|
&rt2x00dev->link.work, LINK_TUNE_INTERVAL);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -496,7 +496,7 @@ void rt2x00lib_beacondone(struct rt2x00_dev *rt2x00dev)
|
|
rt2x00lib_beacondone_iter,
|
|
rt2x00lib_beacondone_iter,
|
|
rt2x00dev);
|
|
rt2x00dev);
|
|
|
|
|
|
- queue_work(rt2x00dev->workqueue, &rt2x00dev->intf_work);
|
|
|
|
|
|
+ schedule_work(&rt2x00dev->intf_work);
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(rt2x00lib_beacondone);
|
|
EXPORT_SYMBOL_GPL(rt2x00lib_beacondone);
|
|
|
|
|
|
@@ -1064,10 +1064,6 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
|
|
/*
|
|
/*
|
|
* Initialize configuration work.
|
|
* 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->intf_work, rt2x00lib_intf_scheduled);
|
|
INIT_WORK(&rt2x00dev->filter_work, rt2x00lib_packetfilter_scheduled);
|
|
INIT_WORK(&rt2x00dev->filter_work, rt2x00lib_packetfilter_scheduled);
|
|
INIT_DELAYED_WORK(&rt2x00dev->link.work, rt2x00lib_link_tuner);
|
|
INIT_DELAYED_WORK(&rt2x00dev->link.work, rt2x00lib_link_tuner);
|
|
@@ -1127,13 +1123,6 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev)
|
|
rt2x00rfkill_free(rt2x00dev);
|
|
rt2x00rfkill_free(rt2x00dev);
|
|
rt2x00leds_unregister(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.
|
|
* Free ieee80211_hw memory.
|
|
*/
|
|
*/
|