[PATCH] mac80211: fix reorder buffer release

From: John W. Linville
Date: Fri Dec 04 2009 - 17:00:22 EST


From: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>

My patch "mac80211: correctly place aMPDU RX reorder code"
uses an skb queue for MPDUs that were released from the
buffer. I intentially didn't initialise and use the skb
queue's spinlock, but in this place forgot that the code
variant that doesn't touch the spinlock is needed.

Thanks to Christian Lamparter for quickly spotting the
bug in the backtrace Reinette reported.

Reported-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Bug-identified-by: Christian Lamparter <chunkeey@xxxxxxxxxxxxxx>
Tested-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>
---
Dave,

I missed this in today's pull request -- please queue it directly in
your tree!

Thanks,

John

net/mac80211/rx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- wireless-testing.orig/net/mac80211/rx.c 2009-12-03 20:18:21.000000000 +0100
+++ wireless-testing/net/mac80211/rx.c 2009-12-03 20:42:50.000000000 +0100
@@ -570,7 +570,7 @@ static void ieee80211_release_reorder_fr
rate = &sband->bitrates[status->rate_idx];
tid_agg_rx->stored_mpdu_num--;
tid_agg_rx->reorder_buf[index] = NULL;
- skb_queue_tail(frames, skb);
+ __skb_queue_tail(frames, skb);

no_frame:
tid_agg_rx->head_seq_num = seq_inc(tid_agg_rx->head_seq_num);


--
John W. Linville Someday the world will need a hero, and you
linville@xxxxxxxxxxxxx might be all we have. Be ready.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/