Commit 2569a826 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville

mac80211: correctly place aMPDU RX reorder code

As indicated by the comment, the aMPDU RX reorder code
should logically be after ieee80211_rx_h_check(). The
previous patch moved the code there, and this patch now
hooks it up in that place by introducing a list of skbs
that are then processed by the remaining handlers. The
list may be empty if the function is buffering the skb
to release it later.

The only change needed to the RX data is that the crypto
handler needs to clear the key that may be set from a
previous loop iteration, and that not everything can be
in the rx flags now.
Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1edfb1af
...@@ -164,6 +164,7 @@ typedef unsigned __bitwise__ ieee80211_rx_result; ...@@ -164,6 +164,7 @@ typedef unsigned __bitwise__ ieee80211_rx_result;
#define IEEE80211_RX_RA_MATCH BIT(1) #define IEEE80211_RX_RA_MATCH BIT(1)
#define IEEE80211_RX_AMSDU BIT(2) #define IEEE80211_RX_AMSDU BIT(2)
#define IEEE80211_RX_FRAGMENTED BIT(3) #define IEEE80211_RX_FRAGMENTED BIT(3)
/* only add flags here that do not change with subframes of an aMPDU */
struct ieee80211_rx_data { struct ieee80211_rx_data {
struct sk_buff *skb; struct sk_buff *skb;
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment