aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00usb.c
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2010-12-13 06:34:22 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-13 15:23:35 -0500
commit5450b7e2f0b47e52175b31399d8186a74ef3c46d (patch)
tree4023a3b3cc577d12f1c733a140fce7e965e7eabe /drivers/net/wireless/rt2x00/rt2x00usb.c
parent094a1d92fdb18c4455758b1c33e99d647c837ee9 (diff)
rt2x00: Introduce 3 queue commands in drivers (start, kick, stop).
As part of the queue refactoring, we now introduce 3 queue commands: start, kick, stop. - Start: will enable a queue, for TX this will not mean anything, while for beacons and RX this will update the registers to enable the queue. - Kick: This will kick all pending frames to the hardware. This is needed for the TX queue to push all frames to the HW after the queue has been started - Stop: This will stop the queue in the hardware, and cancel any pending work (So this doesn't mean the queue is empty after a stop!). Move all code from the drivers into the appropriate functions, and link those calls to the old rt2x00lib callback functions (we will fix this later when we refactor the queue control inside rt2x00lib). Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Acked-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00usb.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c
index 608200eaf0dc..12958a45e450 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.c
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.c
@@ -268,7 +268,7 @@ void rt2x00usb_kick_tx_queue(struct data_queue *queue)
268} 268}
269EXPORT_SYMBOL_GPL(rt2x00usb_kick_tx_queue); 269EXPORT_SYMBOL_GPL(rt2x00usb_kick_tx_queue);
270 270
271static void rt2x00usb_kill_tx_entry(struct queue_entry *entry) 271static void rt2x00usb_kill_entry(struct queue_entry *entry)
272{ 272{
273 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; 273 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
274 struct queue_entry_priv_usb *entry_priv = entry->priv_data; 274 struct queue_entry_priv_usb *entry_priv = entry->priv_data;
@@ -287,12 +287,12 @@ static void rt2x00usb_kill_tx_entry(struct queue_entry *entry)
287 usb_kill_urb(bcn_priv->guardian_urb); 287 usb_kill_urb(bcn_priv->guardian_urb);
288} 288}
289 289
290void rt2x00usb_kill_tx_queue(struct data_queue *queue) 290void rt2x00usb_stop_queue(struct data_queue *queue)
291{ 291{
292 rt2x00queue_for_each_entry(queue, Q_INDEX_DONE, Q_INDEX, 292 rt2x00queue_for_each_entry(queue, Q_INDEX_DONE, Q_INDEX,
293 rt2x00usb_kill_tx_entry); 293 rt2x00usb_kill_entry);
294} 294}
295EXPORT_SYMBOL_GPL(rt2x00usb_kill_tx_queue); 295EXPORT_SYMBOL_GPL(rt2x00usb_stop_queue);
296 296
297static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue) 297static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue)
298{ 298{
@@ -316,7 +316,7 @@ static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue)
316 * Kill all entries in the queue, afterwards we need to 316 * Kill all entries in the queue, afterwards we need to
317 * wait a bit for all URBs to be cancelled. 317 * wait a bit for all URBs to be cancelled.
318 */ 318 */
319 rt2x00usb_kill_tx_queue(queue); 319 rt2x00usb_stop_queue(queue);
320 320
321 /* 321 /*
322 * In case that a driver has overriden the txdone_work 322 * In case that a driver has overriden the txdone_work
@@ -423,7 +423,7 @@ void rt2x00usb_disable_radio(struct rt2x00_dev *rt2x00dev)
423 REGISTER_TIMEOUT); 423 REGISTER_TIMEOUT);
424 424
425 /* 425 /*
426 * The USB version of kill_tx_queue also works 426 * The USB version of also works
427 * on the RX queue. 427 * on the RX queue.
428 */ 428 */
429 rt2x00dev->ops->lib->kill_tx_queue(rt2x00dev->rx); 429 rt2x00dev->ops->lib->kill_tx_queue(rt2x00dev->rx);