staging: brcm80211: brcmfmac: Connect request made robust
authorSukesh Srikakula <sukeshs@broadcom.com>
Mon, 8 Aug 2011 13:58:10 +0000 (15:58 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 23 Aug 2011 19:59:59 +0000 (12:59 -0700)
Connect request made robust by passing broadcast bssid to the
FW in SET_SSID request. This fix helps STA to connect
to any available AP in ESS instead of sticking to one
unresponsive AP.

Signed-off-by: Sukesh Srikakula <sukeshs@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Franky Lin <frankyl@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c

index a915b6e409e5e072d17cbfe82855b7caccfe4d93..2e8fd6e7052e023f3fe03c8da319df691f25d211 100644 (file)
@@ -1420,11 +1420,6 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
                goto done;
        }
 
-       brcmf_update_prof(cfg_priv, NULL, sme->bssid, WL_PROF_BSSID);
-       /*
-        **  Join with specific BSSID and cached SSID
-        **  If SSID is zero join based on BSSID only
-        */
        memset(&join_params, 0, sizeof(join_params));
        join_params_size = sizeof(join_params.ssid);
 
@@ -1433,10 +1428,7 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
        join_params.ssid.SSID_len = cpu_to_le32(join_params.ssid.SSID_len);
        brcmf_update_prof(cfg_priv, NULL, &join_params.ssid, WL_PROF_SSID);
 
-       if (sme->bssid)
-               memcpy(join_params.params.bssid, sme->bssid, ETH_ALEN);
-       else
-               memcpy(join_params.params.bssid, ether_bcast, ETH_ALEN);
+       memcpy(join_params.params.bssid, ether_bcast, ETH_ALEN);
 
        if (join_params.ssid.SSID_len < IEEE80211_MAX_SSID_LEN) {
                WL_CONN("ssid \"%s\", len (%d)\n",