cfg80211: ignore spurious deauth
authorJohannes Berg <[email protected]>
Mon, 12 Jul 2010 12:46:43 +0000 (14:46 +0200)
committerJohn W. Linville <[email protected]>
Mon, 12 Jul 2010 20:05:31 +0000 (16:05 -0400)
Ever since mac80211/drivers are no longer
fully in charge of keeping track of the
auth status, trying to make them do so will
fail. Instead of warning and reporting the
deauthentication to userspace, cfg80211 must
simply ignore it so that spurious
deauthentications, e.g. before starting
authentication, aren't seen by userspace as
actual deauthentications.

Cc: [email protected]
Reported-by: Paul Stewart <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
net/wireless/mlme.c

index 9f95354f859fa1315cbaf96cdd5770c1bfc3ef84..e74a1a2119d34a334702bc16106c43fefa2ffdbd 100644 (file)
@@ -44,10 +44,10 @@ void cfg80211_send_rx_auth(struct net_device *dev, const u8 *buf, size_t len)
                }
        }
 
-       WARN_ON(!done);
-
-       nl80211_send_rx_auth(rdev, dev, buf, len, GFP_KERNEL);
-       cfg80211_sme_rx_auth(dev, buf, len);
+       if (done) {
+               nl80211_send_rx_auth(rdev, dev, buf, len, GFP_KERNEL);
+               cfg80211_sme_rx_auth(dev, buf, len);
+       }
 
        wdev_unlock(wdev);
 }