cfg80211: fix disassoc while not associated
When trying to disassociate while not associated, the kernel would crash rather than refusing the operation, fix this; Reported-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
fec247c0d5
commit
f9d6b40260
|
@ -545,6 +545,12 @@ static int __cfg80211_mlme_disassoc(struct cfg80211_registered_device *rdev,
|
||||||
|
|
||||||
ASSERT_WDEV_LOCK(wdev);
|
ASSERT_WDEV_LOCK(wdev);
|
||||||
|
|
||||||
|
if (wdev->sme_state != CFG80211_SME_CONNECTED)
|
||||||
|
return -ENOTCONN;
|
||||||
|
|
||||||
|
if (WARN_ON(!wdev->current_bss))
|
||||||
|
return -ENOTCONN;
|
||||||
|
|
||||||
memset(&req, 0, sizeof(req));
|
memset(&req, 0, sizeof(req));
|
||||||
req.reason_code = reason;
|
req.reason_code = reason;
|
||||||
req.ie = ie;
|
req.ie = ie;
|
||||||
|
|
Loading…
Reference in a new issue