]> git.baikalelectronics.ru Git - kernel.git/commit
rt2x00: Fix tx status reporting for reordered frames in rt2800pci
authorHelmut Schaa <helmut.schaa@googlemail.com>
Fri, 15 Mar 2013 08:57:57 +0000 (09:57 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 18 Mar 2013 20:38:29 +0000 (16:38 -0400)
commit5758200fe21075063f8e034bb02c64ff83b4224d
tree578ceaaf88ea7ad9e439f48564f22a5eec16f7f8
parent5b9a8397d940ef9f9b1c111f22ec76fe9d44f1fc
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>
drivers/net/wireless/rt2x00/rt2800pci.c
drivers/net/wireless/rt2x00/rt2x00queue.h