linux/drivers/net/wireless/rt2x00
Ivo van Doorn 652a9dd2a0 rt2x00: Split watchdog check into a DMA and STATUS timeout
The watchdog for rt2800usb triggers frequently causing all URB's
to be canceled often enough to interrupt the normal TX flow.
More research indicated that not the URB upload to the USB host
were hanging, but instead the TX status reports.

To correctly detect what is going on, we introduce Q_INDEX_DMA_DONE
which is an index counter between Q_INDEX_DONE and Q_INDEX and indicates
if the frame has been transfered to the device.

This also requires the rt2x00queue timeout functions to be updated
to differentiate between a DMA timeout (time between Q_INDEX and
Q_INDEX_DMA_DONE timeout) and a STATUS timeout (time between
Q_INDEX_DMA_DONE and Q_INDEX_DONE timeout)

All Q_INDEX_DMA_DONE code was taken from the RFC from
Helmut Schaa <helmut.schaa@googlemail.com> for the implementation
for watchdog for rt2800pci.

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>
2010-08-31 14:22:25 -04:00
..
Kconfig
Makefile
rt2x00.h rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00config.c
rt2x00crypto.c mac80211: use cipher suite selectors 2010-08-16 16:45:11 -04:00
rt2x00debug.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00debug.h
rt2x00dev.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00dump.h
rt2x00firmware.c
rt2x00ht.c
rt2x00leds.c
rt2x00leds.h
rt2x00lib.h
rt2x00link.c
rt2x00mac.c
rt2x00pci.c
rt2x00pci.h
rt2x00queue.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00queue.h rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00reg.h
rt2x00soc.c
rt2x00soc.h
rt2x00usb.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00usb.h rt2x00: Simplify arguments to rt2x00 driver callback functions 2010-08-25 14:34:54 -04:00
rt61pci.c rt2x00: Rename txentry_desc.queue -> txentry_desc.qid 2010-08-31 14:22:23 -04:00
rt61pci.h
rt73usb.c rt2x00: Correctly kill beacon queue 2010-08-31 14:22:24 -04:00
rt73usb.h
rt2400pci.c rt2x00: Fix max TX power settings 2010-08-25 14:34:55 -04:00
rt2400pci.h
rt2500pci.c rt2x00: Fix max TX power settings 2010-08-25 14:34:55 -04:00
rt2500pci.h
rt2500usb.c rt2x00: Correctly kill beacon queue 2010-08-31 14:22:24 -04:00
rt2500usb.h
rt2800.h rt2x00: Update rt2800 comments regarding AMPDU and PACKET_ID in TXWI 2010-08-31 14:22:23 -04:00
rt2800lib.c rt2x00: Don't set unicast/BSSID masks when clearning MAC or BSSID 2010-08-31 14:22:24 -04:00
rt2800lib.h rt2x00: Add rt2800_wait_csr_ready 2010-08-31 14:22:23 -04:00
rt2800pci.c rt2x00: Wakeup hardware before loading firmware 2010-08-31 14:22:24 -04:00
rt2800pci.h
rt2800usb.c rt2x00: Correctly kill beacon queue 2010-08-31 14:22:24 -04:00
rt2800usb.h