diff options
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 8016fee0752..904a7f36832 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);  }  |