Skip to content

Commit

Permalink
rt2x00: Remove failsave from rt2x00usb_watchdog_tx_dma
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Gertjan van Wingerde <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
  • Loading branch information
IvDoorn authored and linvjw committed Nov 15, 2010
1 parent 7225ce1 commit aaf886b
Showing 1 changed file with 0 additions and 15 deletions.
15 changes: 0 additions & 15 deletions drivers/net/wireless/rt2x00/rt2x00usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -322,21 +322,6 @@ static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue)
*/
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
* queue again.
Expand Down

0 comments on commit aaf886b

Please sign in to comment.