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, 16 Sep 2009 20:21:00 +0000 (16:21 -0400)
commitbbac31f4c0339f6c51afbd0edfb4959df9b53fa9
tree50764245ec0b1a3ca2e25f43bdbe5d674ec0258e
parent8c6c03fe230c448e5795464a9d73efb796acf3d6
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