aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/main.h
diff options
context:
space:
mode:
authorPaul Stewart <pstew@chromium.org>2014-02-25 19:31:37 -0500
committerJohn W. Linville <linville@tuxdriver.com>2014-02-28 14:33:23 -0500
commit8acbea614a75bc2221a84f222dc32be0877861ce (patch)
tree8a1034aa9961cbe4209149779026030b4fe2b6c5 /drivers/net/wireless/mwifiex/main.h
parentb6a8cf2cd8f1d17c850db0f591e3d349d417b40a (diff)
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>
Diffstat (limited to 'drivers/net/wireless/mwifiex/main.h')
-rw-r--r--drivers/net/wireless/mwifiex/main.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
index 407f8eada720..cb1148f0de69 100644
--- a/drivers/net/wireless/mwifiex/main.h
+++ b/drivers/net/wireless/mwifiex/main.h
@@ -575,6 +575,7 @@ struct mwifiex_rx_reorder_tbl {
575 struct list_head list; 575 struct list_head list;
576 int tid; 576 int tid;
577 u8 ta[ETH_ALEN]; 577 u8 ta[ETH_ALEN];
578 int init_win;
578 int start_win; 579 int start_win;
579 int win_size; 580 int win_size;
580 void **rx_reorder_ptr; 581 void **rx_reorder_ptr;