]> git.baikalelectronics.ru Git - kernel.git/commit
mwifiex: Track BA sequence number reset
authorPaul Stewart <pstew@chromium.org>
Wed, 26 Feb 2014 00:31:37 +0000 (16:31 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 28 Feb 2014 19:33:23 +0000 (14:33 -0500)
commit4595f5c2c3a5831e2522f2a0dea23e35e833aa4a
tree8a1034aa9961cbe4209149779026030b4fe2b6c5
parent7eaa8835cbda0d146fd1b2f5f7f3f7bbae31675b
mwifiex: Track BA sequence number reset

Some stations reset the sequence number for traffic-ids (TIDs)
as they initiate a block-ACK session.  In order to detect such
behavior, mwifiex must note the starting sequence number given
during the ADDBA request.  If the first received sequence number
after the ADDBA falls outside the receive window for this TID but
after the the ADDBA starting sequence number, we can assume that
this AP has reset its sequence number during the ADDBA.  In this
case we must adjust the input window backward to incorporate this
received sequence number instead of ignoring it.  Otherwise, we
could fail to successfully retrieve an arbitrarily large number
of downstream frames at the beginning of the block-ACK session.

Signed-off-by: Paul Stewart <pstew@chromium.org>
Acked-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/11n_rxreorder.c
drivers/net/wireless/mwifiex/11n_rxreorder.h
drivers/net/wireless/mwifiex/main.h