diff options
author | Ivo van Doorn <ivdoorn@gmail.com> | 2010-10-11 09:39:04 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-10-11 15:04:26 -0400 |
commit | 1a397696536e896e7d763c0c38f3ae3e588b5d52 (patch) | |
tree | 533838aa153b05e3ed5e8c7ca0141d1684369c20 /drivers/net/wireless | |
parent | a1d1eabc8c42ddf5fd3ea4184094561b3edd127b (diff) |
rt2x00: Don't perform watchdog checks on empty queue
The currently used watchdog functions cannot be applied
to empty queues.
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')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index 769c53451b21..89d77f55d76c 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c | |||
@@ -363,10 +363,12 @@ void rt2x00usb_watchdog(struct rt2x00_dev *rt2x00dev) | |||
363 | struct data_queue *queue; | 363 | struct data_queue *queue; |
364 | 364 | ||
365 | tx_queue_for_each(rt2x00dev, queue) { | 365 | tx_queue_for_each(rt2x00dev, queue) { |
366 | if (rt2x00queue_dma_timeout(queue)) | 366 | if (!rt2x00queue_empty(queue)) { |
367 | rt2x00usb_watchdog_tx_dma(queue); | 367 | if (rt2x00queue_dma_timeout(queue)) |
368 | if (rt2x00queue_timeout(queue)) | 368 | rt2x00usb_watchdog_tx_dma(queue); |
369 | rt2x00usb_watchdog_tx_status(queue); | 369 | if (rt2x00queue_timeout(queue)) |
370 | rt2x00usb_watchdog_tx_status(queue); | ||
371 | } | ||
370 | } | 372 | } |
371 | } | 373 | } |
372 | EXPORT_SYMBOL_GPL(rt2x00usb_watchdog); | 374 | EXPORT_SYMBOL_GPL(rt2x00usb_watchdog); |