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 489b6ad200d4b3933f5a9e5c3dd40d5a43b51bde..8acce724f0dc49415a867e74785bf50d46aa7ca8 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) {