diff options
author | Johannes Stezenbach <js@sig21.net> | 2011-04-18 17:30:36 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-19 23:39:35 +0400 |
commit | f0187a1987ed6524518ff2a533eaf8394ac1a500 (patch) | |
tree | 0a7afe2f25e10c3be912103afb6bec7586868d94 /drivers/net/wireless/rt2x00/rt2x00dev.c | |
parent | 6e6d6932a3f525d734f6c2f5845e9cadfaeddce9 (diff) | |
download | linux-f0187a1987ed6524518ff2a533eaf8394ac1a500.tar.xz |
rt2800usb: add timer to handle TX_STA_FIFO
TX status is reported by the hardware when a packet has been
sent (or after TX failed after possible retries), which is some
time after the DMA completion. Since the rt2800usb hardware can
not signal interrupts we have to use a timer, otherwise the
TX status would only be read by the next packet's TX DMA
completion, or by the watchdog thread.
Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 2e490e0998da..7776d9f1f297 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -1071,6 +1071,7 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev) /* * Stop all work. */ + del_timer_sync(&rt2x00dev->txstatus_timer); cancel_work_sync(&rt2x00dev->intf_work); if (rt2x00_is_usb(rt2x00dev)) { cancel_work_sync(&rt2x00dev->rxdone_work); |