From: Johannes Berg Date: Sat, 26 Sep 2009 12:42:53 +0000 (+0200) Subject: cfg80211: always get BSS X-Git-Tag: v2.6.32-rc3~12^2~48^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8bb894859e9495a94f94af3ee4711c89cdf24a95;p=platform%2Fkernel%2Flinux-stable.git 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 Tested-by: Hin-Tak Leung , Signed-off-by: John W. Linville --- diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 7fae7ee..93c3ed3 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -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;