From 2198853cc2dd8061dd2d092dd52cfbd70bcce8de Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 5 May 2009 20:35:15 +0300 Subject: [PATCH] --- yaml --- r: 150189 b: refs/heads/master c: aec6795210db6ba3f4592056d41ac5b1ab41e980 h: refs/heads/master i: 150187: 0a93aab70e24476d1d250a5fd578b07b6ed1cd6c v: v3 --- [refs] | 2 +- trunk/net/mac80211/rx.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f4269930e566..d6a56a97c951 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4d050f1daed3babf6fcc337f862a245d31af4452 +refs/heads/master: aec6795210db6ba3f4592056d41ac5b1ab41e980 diff --git a/trunk/net/mac80211/rx.c b/trunk/net/mac80211/rx.c index 24d41705ac0b..d052f4004829 100644 --- a/trunk/net/mac80211/rx.c +++ b/trunk/net/mac80211/rx.c @@ -2551,6 +2551,18 @@ void __ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, return; } + /* + * In theory, the block ack reordering should happen after duplicate + * removal (ieee80211_rx_h_check(), which is an RX handler). As such, + * the call to ieee80211_rx_reorder_ampdu() should really be moved to + * happen as a new RX handler between ieee80211_rx_h_check and + * ieee80211_rx_h_decrypt. This cleanup may eventually happen, but for + * the time being, the call can be here since RX reorder buf processing + * will implicitly skip duplicates. We could, in theory at least, + * process frames that ieee80211_rx_h_passive_scan would drop (e.g., + * frames from other than operational channel), but that should not + * happen in normal networks. + */ if (!ieee80211_rx_reorder_ampdu(local, skb, status)) __ieee80211_rx_handle_packet(hw, skb, status, rate);