diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2006-01-10 19:12:19 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-03-23 04:16:54 +0100 |
commit | 48b2e4ce690dfbf4097e89e6ce0861ab85fd89c9 (patch) | |
tree | 3949c3468eb260c1830685ca40714877d9ca6a2b /net | |
parent | [PATCH] softmac: select "best" network based on rssi (diff) | |
download | linux-48b2e4ce690dfbf4097e89e6ce0861ab85fd89c9.tar.xz linux-48b2e4ce690dfbf4097e89e6ce0861ab85fd89c9.zip |
[PATCH] softmac: check if disassociation is for us before processing it
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_assoc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ieee80211/softmac/ieee80211softmac_assoc.c b/net/ieee80211/softmac/ieee80211softmac_assoc.c index 9fd409099b53..dd5d5cf7189a 100644 --- a/net/ieee80211/softmac/ieee80211softmac_assoc.c +++ b/net/ieee80211/softmac/ieee80211softmac_assoc.c @@ -349,7 +349,10 @@ ieee80211softmac_handle_disassoc(struct net_device * dev, { struct ieee80211softmac_device *mac = ieee80211_priv(dev); unsigned long flags; - /* FIXME: check that this frame is from the right AP!! */ + if (memcmp(disassoc->header.addr2, mac->associnfo.bssid, ETH_ALEN)) + return 0; + if (memcmp(disassoc->header.addr1, mac->dev->dev_addr, ETH_ALEN)) + return 0; dprintk(KERN_INFO PFX "got disassoc frame\n"); netif_carrier_off(dev); spin_lock_irqsave(&mac->lock, flags); |