From: Sukesh Srikakula Date: Mon, 8 Aug 2011 13:58:10 +0000 (+0200) Subject: staging: brcm80211: brcmfmac: Connect request made robust X-Git-Tag: next-20110824~7^2~225 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=bf4c4f434d473e63e87b2b0b4f86d52079764df0;p=karo-tx-linux.git staging: brcm80211: brcmfmac: Connect request made robust 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 Reviewed-by: Arend van Spriel Reviewed-by: Franky Lin Reviewed-by: Roland Vossen Signed-off-by: Arend van Spriel Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c index a915b6e409e5..2e8fd6e7052e 100644 --- a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c +++ b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c @@ -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",