summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00queue.h
diff options
context:
space:
mode:
authorHelmut Schaa2011-03-28 13:35:21 +0200
committerJohn W. Linville2011-04-04 22:20:04 +0200
commitf16d2db704b873d34cec54f992637f3579e10e08 (patch)
tree23b22980164221d6a3cd26ca98b1e19074da1f86 /drivers/net/wireless/rt2x00/rt2x00queue.h
parentrt2x00: Add support for the ZyXEL NWD-211AN USB (diff)
downloadkernel-qcow2-linux-f16d2db704b873d34cec54f992637f3579e10e08.tar.gz
kernel-qcow2-linux-f16d2db704b873d34cec54f992637f3579e10e08.tar.xz
kernel-qcow2-linux-f16d2db704b873d34cec54f992637f3579e10e08.zip
rt2x00: Fix tx aggregation problems with some clients
Some clients seem to rely upon the reception of BlockAckReqs to flush their rx reorder buffer. In order to fix aggregation for these clients rt2x00 should send a BlockAckReq if the transmission of an AMPDU subframe fails. Introduce a new flag TXDONE_AMPDU to indicate that this is an AMPDU subframe and pass IEEE80211_TX_STAT_AMPDU_NO_BACK to mac80211 if an AMPDU subframe failed during transmission. This fixes aggregation problems with Intel 5100 Windows STAs (and maybe others as well). Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> 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/rt2x00queue.h')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h b/drivers/net/wireless/rt2x00/rt2x00queue.h
index 0c8b0c699679..6ae820093997 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.h
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
@@ -217,6 +217,7 @@ enum txdone_entry_desc_flags {
TXDONE_FALLBACK,
TXDONE_FAILURE,
TXDONE_EXCESSIVE_RETRY,
+ TXDONE_AMPDU,
};
/**