|
@@ -961,7 +961,7 @@ int __cfg80211_disconnect(struct cfg80211_registered_device *rdev,
|
|
/* was it connected by userspace SME? */
|
|
/* was it connected by userspace SME? */
|
|
if (!wdev->conn) {
|
|
if (!wdev->conn) {
|
|
cfg80211_mlme_down(rdev, dev);
|
|
cfg80211_mlme_down(rdev, dev);
|
|
- return 0;
|
|
|
|
|
|
+ goto disconnect;
|
|
}
|
|
}
|
|
|
|
|
|
if (wdev->sme_state == CFG80211_SME_CONNECTING &&
|
|
if (wdev->sme_state == CFG80211_SME_CONNECTING &&
|
|
@@ -987,6 +987,7 @@ int __cfg80211_disconnect(struct cfg80211_registered_device *rdev,
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ disconnect:
|
|
if (wdev->sme_state == CFG80211_SME_CONNECTED)
|
|
if (wdev->sme_state == CFG80211_SME_CONNECTED)
|
|
__cfg80211_disconnected(dev, NULL, 0, 0, false);
|
|
__cfg80211_disconnected(dev, NULL, 0, 0, false);
|
|
else if (wdev->sme_state == CFG80211_SME_CONNECTING)
|
|
else if (wdev->sme_state == CFG80211_SME_CONNECTING)
|