mac80211: Fix ieee80211_rx_reorder_ampdu: ignore QoS null packets
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 9 Jul 2008 21:47:19 +0000 (00:47 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 14 Jul 2008 18:52:56 +0000 (14:52 -0400)
This patch fixes the check at the entrance to ieee80211_rx_reorder_ampdu.
This check has been broken by 'mac80211: rx.c use new helpers'.

Letting QoS NULL packet in ieee80211_rx_reorder_ampdu led to packet loss in
RX.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/rx.c

index 244ee2d50a580936702d025966f97d34e1a7a73b..ba332c9dc19abe50fdb5636bbbf8994885079538 100644 (file)
@@ -2041,8 +2041,8 @@ static u8 ieee80211_rx_reorder_ampdu(struct ieee80211_local *local,
 
        tid_agg_rx = sta->ampdu_mlme.tid_rx[tid];
 
-       /* null data frames are excluded */
-       if (unlikely(ieee80211_is_nullfunc(hdr->frame_control)))
+       /* qos null data frames are excluded */
+       if (unlikely(hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_NULLFUNC)))
                goto end_reorder;
 
        /* new un-ordered ampdu frame - process it */