|
@@ -573,12 +573,16 @@ static void wmi_evt_connect(struct wil6210_priv *wil, int id, void *d, int len)
|
|
|
GFP_KERNEL);
|
|
|
goto out;
|
|
|
} else {
|
|
|
- cfg80211_connect_result(ndev, evt->bssid,
|
|
|
- assoc_req_ie, assoc_req_ielen,
|
|
|
- assoc_resp_ie, assoc_resp_ielen,
|
|
|
- WLAN_STATUS_SUCCESS,
|
|
|
- GFP_KERNEL);
|
|
|
+ struct wiphy *wiphy = wil_to_wiphy(wil);
|
|
|
+
|
|
|
+ cfg80211_ref_bss(wiphy, wil->bss);
|
|
|
+ cfg80211_connect_bss(ndev, evt->bssid, wil->bss,
|
|
|
+ assoc_req_ie, assoc_req_ielen,
|
|
|
+ assoc_resp_ie, assoc_resp_ielen,
|
|
|
+ WLAN_STATUS_SUCCESS, GFP_KERNEL,
|
|
|
+ NL80211_TIMEOUT_UNSPECIFIED);
|
|
|
}
|
|
|
+ wil->bss = NULL;
|
|
|
} else if ((wdev->iftype == NL80211_IFTYPE_AP) ||
|
|
|
(wdev->iftype == NL80211_IFTYPE_P2P_GO)) {
|
|
|
if (rc) {
|