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>
This commit is contained in:
parent
7225ce1ea9
commit
aaf886bd21
1 changed files with 0 additions and 15 deletions
|
@ -322,21 +322,6 @@ static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue)
|
||||||
*/
|
*/
|
||||||
rt2x00dev->txdone_work.func(&rt2x00dev->txdone_work);
|
rt2x00dev->txdone_work.func(&rt2x00dev->txdone_work);
|
||||||
|
|
||||||
/*
|
|
||||||
* Security measure: if the driver did override the
|
|
||||||
* txdone_work function, and the hardware did arrive
|
|
||||||
* in a state which causes it to malfunction, it is
|
|
||||||
* possible that the driver couldn't handle the txdone
|
|
||||||
* event correctly. So after giving the driver the
|
|
||||||
* chance to cleanup, we now force a cleanup of any
|
|
||||||
* leftovers.
|
|
||||||
*/
|
|
||||||
if (!rt2x00queue_empty(queue)) {
|
|
||||||
WARNING(queue->rt2x00dev, "TX queue %d DMA timed out,"
|
|
||||||
" status handling failed, invoke hard reset", queue->qid);
|
|
||||||
rt2x00usb_work_txdone(&rt2x00dev->txdone_work);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The queue has been reset, and mac80211 is allowed to use the
|
* The queue has been reset, and mac80211 is allowed to use the
|
||||||
* queue again.
|
* queue again.
|
||||||
|
|
Loading…
Add table
Reference in a new issue