summaryrefslogtreecommitdiffstats
path: root/releases/2.6.32.58/mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'releases/2.6.32.58/mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch')
-rw-r--r--releases/2.6.32.58/mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/releases/2.6.32.58/mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch b/releases/2.6.32.58/mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch
new file mode 100644
index 0000000..54bd7bd
--- /dev/null
+++ b/releases/2.6.32.58/mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch
@@ -0,0 +1,33 @@
+From 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 Mon Sep 17 00:00:00 2001
+From: Eliad Peller <eliad@wizery.com>
+Date: Wed, 1 Feb 2012 18:48:09 +0200
+Subject: mac80211: timeout a single frame in the rx reorder buffer
+
+From: Eliad Peller <eliad@wizery.com>
+
+commit 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 upstream.
+
+The current code checks for stored_mpdu_num > 1, causing
+the reorder_timer to be triggered indefinitely, but the
+frame is never timed-out (until the next packet is received)
+
+Signed-off-by: Eliad Peller <eliad@wizery.com>
+Acked-by: Johannes Berg <johannes@sipsolutions.net>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/mac80211/rx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -2363,7 +2363,7 @@ static u8 ieee80211_sta_manage_reorder_b
+ index = seq_sub(tid_agg_rx->head_seq_num, tid_agg_rx->ssn)
+ % tid_agg_rx->buf_size;
+ if (!tid_agg_rx->reorder_buf[index] &&
+- tid_agg_rx->stored_mpdu_num > 1) {
++ tid_agg_rx->stored_mpdu_num) {
+ /*
+ * No buffers ready to be released, but check whether any
+ * frames in the reorder buffer have timed out.