linux/drivers/net/wireless/rt2x00
Helmut Schaa 8857d6dc77 rt2x00: Fix tx status reporting for reordered frames in rt2800pci
rt2800 hardware sometimes reorders tx frames when transmitting to
multiple BA enabled STAs concurrently.

For example a tx queue
	[ STA1 | STA2 | STA1 | STA2 ]
can result in the tx status reports
	[ STA1 | STA1 | STA2 | STA2 ]
when the hw decides to put the frames for STA1 in one AMPDU.

To mitigate this effect associate the currently processed tx status
to the first frame in the tx queue with a matching wcid.

This patch fixes several problems related to incorrect tx status
reporting. Furthermore the tx rate selection is much more stable when
communicating with multiple STAs.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-18 16:38:29 -04:00
..
Kconfig rt2x00: fix rt2x00 to work with the new ralink SoC config symbols 2013-03-13 14:18:53 -04:00
Makefile
rt2x00.h rt2x00: check for dma mappings errors 2013-02-14 14:24:07 -05:00
rt2x00config.c mac80211: add time synchronisation with BSS for assoc 2012-07-12 12:10:46 +02:00
rt2x00crypto.c
rt2x00debug.c rt2x00: Add debugfs access for rfcsr register 2012-05-08 21:53:46 -04:00
rt2x00debug.h rt2x00: Add debugfs access for rfcsr register 2012-05-08 21:53:46 -04:00
rt2x00dev.c rt2x00: error in configurations with mesh support disabled 2013-02-27 14:12:52 -05:00
rt2x00dump.h
rt2x00firmware.c
rt2x00leds.c rt2x00: increase led's name buffer length 2012-04-09 16:09:34 -04:00
rt2x00leds.h
rt2x00lib.h rt2x00: Use GFP_KERNEL for rx buffer allocation on USB devices 2012-04-23 15:35:29 -04:00
rt2x00link.c
rt2x00mac.c rt2x00: print chip and firmware version by default 2013-01-30 15:06:39 -05:00
rt2x00pci.c rt2x00: rt2x00pci_regbusy_read() - only print register access failure once 2013-03-06 16:24:24 -05:00
rt2x00pci.h
rt2x00queue.c rt2x00: Revert "rt2x00: remove unused argument" 2013-03-18 16:38:29 -04:00
rt2x00queue.h rt2x00: Fix tx status reporting for reordered frames in rt2800pci 2013-03-18 16:38:29 -04:00
rt2x00reg.h
rt2x00soc.c
rt2x00soc.h
rt2x00usb.c rt2x00: Revert "rt2x00: remove unused argument" 2013-03-18 16:38:29 -04:00
rt2x00usb.h
rt61pci.c rt2x00: remove __dev* attributes 2012-12-06 15:04:58 -05:00
rt61pci.h rt2x00: Unify GPIO register field namings 2012-09-07 15:08:40 -04:00
rt73usb.c rt2x00: usb: fix reset resume 2012-10-24 13:18:07 -04:00
rt73usb.h rt2x00: Unify GPIO register field namings 2012-09-07 15:08:40 -04:00
rt2400pci.c rt2x00: check for dma mappings errors 2013-02-14 14:24:07 -05:00
rt2400pci.h rt2x00: Unify GPIO register field namings 2012-09-07 15:08:40 -04:00
rt2500pci.c rt2x00: check for dma mappings errors 2013-02-14 14:24:07 -05:00
rt2500pci.h rt2x00: Unify GPIO register field namings 2012-09-07 15:08:40 -04:00
rt2500usb.c rt2x00: usb: fix reset resume 2012-10-24 13:18:07 -04:00
rt2500usb.h rt2x00: Unify GPIO register field namings 2012-09-07 15:08:40 -04:00
rt2800.h rt2x00: rt2800lib: introduce RFCSR3_VCOCAL_EN 2012-12-03 13:52:01 -05:00
rt2800lib.c rt2x00: remove NOTICE 2013-01-30 15:06:43 -05:00
rt2800lib.h rt2x00: rt2800: convert read_eeprom functions to return an int value 2013-01-07 15:16:54 -05:00
rt2800pci.c rt2x00: Fix tx status reporting for reordered frames in rt2800pci 2013-03-18 16:38:29 -04:00
rt2800pci.h rt2x00 : RT3290 chip support v4 2012-06-20 14:41:49 -04:00
rt2800usb.c wireless: rt2x00: rt2800usb add "unknown" devices 2013-02-11 15:34:57 -05:00
rt2800usb.h