aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2012-10-23 11:41:46 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-10-23 11:41:46 -0400
commit9b34f40c20111ba658f88e1669598db494be1fbc (patch)
treebe98189b178ca63a44c09c8a5e92574a92932b51 /net/wireless
parent9917c85b06c2eb9d61c0f2dadd2d5d8788f7e563 (diff)
parent290eddc4b3661dc4dfa95d199e0be5788928b3b1 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Conflicts: drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c net/mac80211/mlme.c
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/mlme.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index 46aeafce08d0..4bfd14f7c592 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -473,20 +473,14 @@ int __cfg80211_mlme_deauth(struct cfg80211_registered_device *rdev,
473 .reason_code = reason, 473 .reason_code = reason,
474 .ie = ie, 474 .ie = ie,
475 .ie_len = ie_len, 475 .ie_len = ie_len,
476 .local_state_change = local_state_change,
476 }; 477 };
477 478
478 ASSERT_WDEV_LOCK(wdev); 479 ASSERT_WDEV_LOCK(wdev);
479 480
480 if (local_state_change) { 481 if (local_state_change && (!wdev->current_bss ||
481 if (wdev->current_bss && 482 !ether_addr_equal(wdev->current_bss->pub.bssid, bssid)))
482 ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) {
483 cfg80211_unhold_bss(wdev->current_bss);
484 cfg80211_put_bss(&wdev->current_bss->pub);
485 wdev->current_bss = NULL;
486 }
487
488 return 0; 483 return 0;
489 }
490 484
491 return rdev_deauth(rdev, dev, &req); 485 return rdev_deauth(rdev, dev, &req);
492} 486}