Search Linux Wireless

Re: [PATCH] libertas: cfg80211 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> +       bss = cfg80211_get_bss(wiphy, sme->channel, sme->bssid,
> +                              sme->ssid, sme->ssid_len,
> +                              WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
> +
> +       if (!bss) {
> +               if (sme->bssid || sme->ssid_len != IEEE80211_MAX_SSID_LEN) {
> +                       DECLARE_SSID_BUF(ssid);
> +                       lbs_pr_err("associate: BSS %s not in scan results\n",
> +                                  print_ssid(ssid, sme->ssid, sme->ssid_len));
> +                       ret = -ENOENT;
> +               }
> +
> +               goto done;
> +       }

I have again some time for Libertas :-)

I'm still not getting this code at all, especially the code inside
"if (!bss)". You set "ret = -ENOENT", but only under some
circumstances. When they aren't met, we go to label done,
but with "ret=0", e.g. we didn't connect, but still we won't
return an error.

Also, you print the SSID, but name it "BSS". A BSS is
kind-of-a-mac-address. So the text in the printk should
be "associate: no SSID %s in scan results". Or you print
the BSS from sme->

And then I don't get why there is a comparison
sme->ssid_len != IEEE80211_MAX_SSID_LEN. print_ssid()
handles this.



Wouldn't this snipped do the work:

	lbs_deb_enter(LBS_DEB_CFG80211);
        bss = cfg80211_get_bss(wiphy, sme->channel, sme->bssid,
                sme->ssid, sme->ssid_len,
                WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);

        if (!bss) {
                lbs_pr_err("no matching AP found in last scan\n");
                ret = -ENOENT;
                goto done;
        }
        lbs_deb_assoc("trying %pM", sme->bssid);

-- 
http://www.holgerschurig.de
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux