cfg80211: always get BSS
Multiple problems were reported due to interaction between wpa_supplicant and the wext compat code in cfg80211, which appear to be due to it not getting any bss pointer here when wpa_supplicant sets all parameters -- do that now. We should still get the bss after doing an extra scan, but that appears to increase the time we need for connecting enough to sometimes cause timeouts. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Tested-by: Hin-Tak Leung <hintak.leung@gmail.com>, Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b7a794048f
commit
8bb894859e
|
@ -762,9 +762,8 @@ int __cfg80211_connect(struct cfg80211_registered_device *rdev,
|
|||
wdev->conn->params.ssid = wdev->ssid;
|
||||
wdev->conn->params.ssid_len = connect->ssid_len;
|
||||
|
||||
/* don't care about result -- but fill bssid & channel */
|
||||
if (!wdev->conn->params.bssid || !wdev->conn->params.channel)
|
||||
bss = cfg80211_get_conn_bss(wdev);
|
||||
/* see if we have the bss already */
|
||||
bss = cfg80211_get_conn_bss(wdev);
|
||||
|
||||
wdev->sme_state = CFG80211_SME_CONNECTING;
|
||||
wdev->connect_keys = connkeys;
|
||||
|
|
Loading…
Reference in New Issue