diff options
author | John W. Linville <linville@tuxdriver.com> | 2012-10-19 19:55:42 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-10-19 19:55:42 +0200 |
commit | 06f40a41b80e25e88a2b612ea3b2a94f93c94f72 (patch) | |
tree | fa3bc4d691d7024425183bfc1be75a36c4e1d3f3 /net/wireless/mlme.c | |
parent | Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge (diff) | |
parent | Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jber... (diff) | |
download | linux-06f40a41b80e25e88a2b612ea3b2a94f93c94f72.tar.xz linux-06f40a41b80e25e88a2b612ea3b2a94f93c94f72.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
Diffstat (limited to 'net/wireless/mlme.c')
-rw-r--r-- | net/wireless/mlme.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c index 8016fee0752b..904a7f368325 100644 --- a/net/wireless/mlme.c +++ b/net/wireless/mlme.c @@ -457,20 +457,14 @@ int __cfg80211_mlme_deauth(struct cfg80211_registered_device *rdev, .reason_code = reason, .ie = ie, .ie_len = ie_len, + .local_state_change = local_state_change, }; ASSERT_WDEV_LOCK(wdev); - if (local_state_change) { - if (wdev->current_bss && - ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(&wdev->current_bss->pub); - wdev->current_bss = NULL; - } - + if (local_state_change && (!wdev->current_bss || + !ether_addr_equal(wdev->current_bss->pub.bssid, bssid))) return 0; - } return rdev->ops->deauth(&rdev->wiphy, dev, &req); } |