Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mac80211: timeout a single frame in the rx reorder buffer

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>
Cc: <stable@vger.kernel.org>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Eliad Peller and committed by
John W. Linville
07ae2dfc 3d29dd9b

+1 -1
+1 -1
net/mac80211/rx.c
··· 611 611 index = seq_sub(tid_agg_rx->head_seq_num, tid_agg_rx->ssn) % 612 612 tid_agg_rx->buf_size; 613 613 if (!tid_agg_rx->reorder_buf[index] && 614 - tid_agg_rx->stored_mpdu_num > 1) { 614 + tid_agg_rx->stored_mpdu_num) { 615 615 /* 616 616 * No buffers ready to be released, but check whether any 617 617 * frames in the reorder buffer have timed out.