cfg80211: fix SME connect
authorJohannes Berg <johannes@sipsolutions.net>
Wed, 16 Sep 2009 16:04:26 +0000 (09:04 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 23 Sep 2009 15:35:43 +0000 (11:35 -0400)
commit90c215c47675be42f164a4bac282666753e09225
tree52c1e1bef91bf7bc52c7342d12da15225b9827b5
parent909a203566a75d26c65370d7dd933fa513d47990
cfg80211: fix SME connect

There's a check saying
/* we're good if we have both BSSID and channel */
if (wdev->conn->params.bssid && wdev->conn->params.channel) {

but that isn't true -- we need the BSS struct. This leads
to errors such as

    Trying to associate with 00:1b:53:11:dc:40 (SSID='TEST' freq=2412 MHz)
    ioctl[SIOCSIWFREQ]: No such file or directory
    ioctl[SIOCSIWESSID]: No such file or directory
    Association request to the driver failed
    Associated with 00:1b:53:11:dc:40

in wpa_supplicant, as reported by Holger.

Instead, we really need to have the BSS struct, and if we
don't, then we need to initiate a scan for it. But we may
already have the BSS struct here, so hang on to it if we
do and scan if we don't.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Tested-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/wireless/sme.c