diff options
author | Ivo van Doorn <IvDoorn@gmail.com> | 2010-11-04 15:39:48 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-11-15 13:26:03 -0500 |
commit | aaf886bd215396f295bc0489e8ae09d1c03d9aa0 (patch) | |
tree | 5e71e038377d041a7884ff1095b3bebc11445b62 /drivers/net | |
parent | 7225ce1ea93d24c0914eea0410dcfc426281f996 (diff) |
rt2x00: Remove failsave from rt2x00usb_watchdog_tx_dma
When the TX status handler failed to clear the queue
in rt2x00usb_watchdog_tx_dma() we shouldn't use a failsave
to use the rt2x00usb txdone handler.
If a driver has overriden the txdone handler it must make
sure the txdone handler is capable of cleaning up the queue itself.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index 88995d50a5c7..6dd96192dd91 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c | |||
@@ -323,21 +323,6 @@ static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue) | |||
323 | rt2x00dev->txdone_work.func(&rt2x00dev->txdone_work); | 323 | rt2x00dev->txdone_work.func(&rt2x00dev->txdone_work); |
324 | 324 | ||
325 | /* | 325 | /* |
326 | * Security measure: if the driver did override the | ||
327 | * txdone_work function, and the hardware did arrive | ||
328 | * in a state which causes it to malfunction, it is | ||
329 | * possible that the driver couldn't handle the txdone | ||
330 | * event correctly. So after giving the driver the | ||
331 | * chance to cleanup, we now force a cleanup of any | ||
332 | * leftovers. | ||
333 | */ | ||
334 | if (!rt2x00queue_empty(queue)) { | ||
335 | WARNING(queue->rt2x00dev, "TX queue %d DMA timed out," | ||
336 | " status handling failed, invoke hard reset", queue->qid); | ||
337 | rt2x00usb_work_txdone(&rt2x00dev->txdone_work); | ||
338 | } | ||
339 | |||
340 | /* | ||
341 | * The queue has been reset, and mac80211 is allowed to use the | 326 | * The queue has been reset, and mac80211 is allowed to use the |
342 | * queue again. | 327 | * queue again. |
343 | */ | 328 | */ |