mac80211: don't drop frames where skb->len < 24 in ieee80211_scan_rx()
authorLuciano Coelho <coelho@ti.com>
Mon, 9 May 2011 16:15:04 +0000 (19:15 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 10 May 2011 19:54:54 +0000 (15:54 -0400)
This seems to be a leftover from the old days, when we didn't support
any frames that didn't contain the full ieee802.11 header.  This is
not the case anymore.  It does not cause problems now, because they
are only dropped during scan.  But when scheduled scans get merged,
this would become a problem because we would drop all small frames
while scheduled scan is running.

To fix this, return RX_CONTINUE instead of RX_DROP_MONITOR.

Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/scan.c

index 489b6ad..8acce72 100644 (file)
@@ -170,7 +170,7 @@ ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
                return RX_CONTINUE;
 
        if (skb->len < 24)
-               return RX_DROP_MONITOR;
+               return RX_CONTINUE;
 
        presp = ieee80211_is_probe_resp(fc);
        if (presp) {