diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-09-26 08:42:53 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-09-28 16:55:05 -0400 |
commit | 8bb894859e9495a94f94af3ee4711c89cdf24a95 (patch) | |
tree | 3b2c497467e390a3aaa28bfddbe4e72e3b94e4bf /net/wireless/sme.c | |
parent | b7a794048ff30d53764c1e41ccb2bff7f7bec2a8 (diff) |
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>
Diffstat (limited to 'net/wireless/sme.c')
-rw-r--r-- | net/wireless/sme.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 7fae7eee65de..93c3ed329204 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c | |||
@@ -762,9 +762,8 @@ int __cfg80211_connect(struct cfg80211_registered_device *rdev, | |||
762 | wdev->conn->params.ssid = wdev->ssid; | 762 | wdev->conn->params.ssid = wdev->ssid; |
763 | wdev->conn->params.ssid_len = connect->ssid_len; | 763 | wdev->conn->params.ssid_len = connect->ssid_len; |
764 | 764 | ||
765 | /* don't care about result -- but fill bssid & channel */ | 765 | /* see if we have the bss already */ |
766 | if (!wdev->conn->params.bssid || !wdev->conn->params.channel) | 766 | bss = cfg80211_get_conn_bss(wdev); |
767 | bss = cfg80211_get_conn_bss(wdev); | ||
768 | 767 | ||
769 | wdev->sme_state = CFG80211_SME_CONNECTING; | 768 | wdev->sme_state = CFG80211_SME_CONNECTING; |
770 | wdev->connect_keys = connkeys; | 769 | wdev->connect_keys = connkeys; |