]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.0.22/mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch
drop queue-4.14/mips-make-sure-dt-memory-regions-are-valid.patch
[thirdparty/kernel/stable-queue.git] / releases / 3.0.22 / mac80211-timeout-a-single-frame-in-the-rx-reorder-buffer.patch
1 From 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 Mon Sep 17 00:00:00 2001
2 From: Eliad Peller <eliad@wizery.com>
3 Date: Wed, 1 Feb 2012 18:48:09 +0200
4 Subject: mac80211: timeout a single frame in the rx reorder buffer
5
6 From: Eliad Peller <eliad@wizery.com>
7
8 commit 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 upstream.
9
10 The current code checks for stored_mpdu_num > 1, causing
11 the reorder_timer to be triggered indefinitely, but the
12 frame is never timed-out (until the next packet is received)
13
14 Signed-off-by: Eliad Peller <eliad@wizery.com>
15 Acked-by: Johannes Berg <johannes@sipsolutions.net>
16 Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
18
19 ---
20 net/mac80211/rx.c | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23 --- a/net/mac80211/rx.c
24 +++ b/net/mac80211/rx.c
25 @@ -610,7 +610,7 @@ static void ieee80211_sta_reorder_releas
26 index = seq_sub(tid_agg_rx->head_seq_num, tid_agg_rx->ssn) %
27 tid_agg_rx->buf_size;
28 if (!tid_agg_rx->reorder_buf[index] &&
29 - tid_agg_rx->stored_mpdu_num > 1) {
30 + tid_agg_rx->stored_mpdu_num) {
31 /*
32 * No buffers ready to be released, but check whether any
33 * frames in the reorder buffer have timed out.