diff options
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.patch | 33 |
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. |