diff options
Diffstat (limited to 'net/ieee80211')
-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, | |||
349 | { | 349 | { |
350 | struct ieee80211softmac_device *mac = ieee80211_priv(dev); | 350 | struct ieee80211softmac_device *mac = ieee80211_priv(dev); |
351 | unsigned long flags; | 351 | unsigned long flags; |
352 | /* FIXME: check that this frame is from the right AP!! */ | 352 | if (memcmp(disassoc->header.addr2, mac->associnfo.bssid, ETH_ALEN)) |
353 | return 0; | ||
354 | if (memcmp(disassoc->header.addr1, mac->dev->dev_addr, ETH_ALEN)) | ||
355 | return 0; | ||
353 | dprintk(KERN_INFO PFX "got disassoc frame\n"); | 356 | dprintk(KERN_INFO PFX "got disassoc frame\n"); |
354 | netif_carrier_off(dev); | 357 | netif_carrier_off(dev); |
355 | spin_lock_irqsave(&mac->lock, flags); | 358 | spin_lock_irqsave(&mac->lock, flags); |