mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
Fixed 802.11r OTD roaming failure
Bug 5578305 Change-Id: I8db3a30e3830423212c334a9f4c8b7efdde1d480 Signed-off-by: Shaofu <shaofu@realtek.com> Signed-off-by: Narayana Reddy P <narayanr@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3485386 Reviewed-by: Ashutosh Jha <ajha@nvidia.com> GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: Shobek Attupurath <sattupurath@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
cd8063b7e1
commit
188f83f47a
@@ -3974,7 +3974,7 @@ struct wlan_network *rtw_select_roaming_candidate(struct mlme_priv *mlme)
|
|||||||
RTW_INFO("%s: %s("MAC_FMT", ch:%u-%s)\n", __FUNCTION__,
|
RTW_INFO("%s: %s("MAC_FMT", ch:%u-%s)\n", __FUNCTION__,
|
||||||
candidate->network.Ssid.Ssid, MAC_ARG(candidate->network.MacAddress),
|
candidate->network.Ssid.Ssid, MAC_ARG(candidate->network.MacAddress),
|
||||||
candidate->network.Configuration.DSConfig,
|
candidate->network.Configuration.DSConfig,
|
||||||
rtw_band_str(candidate->network.Configuration.DSConfig));
|
rtw_band_str(candidate->network.Configuration.Band));
|
||||||
mlme->roam_network = candidate;
|
mlme->roam_network = candidate;
|
||||||
|
|
||||||
if (_rtw_memcmp(candidate->network.MacAddress, mlme->roam_tgt_addr, ETH_ALEN) == _TRUE)
|
if (_rtw_memcmp(candidate->network.MacAddress, mlme->roam_tgt_addr, ETH_ALEN) == _TRUE)
|
||||||
|
|||||||
@@ -1506,7 +1506,16 @@ void rtw_wnm_start_clnt_join(_adapter *padapter, struct _ADAPTER_LINK *al)
|
|||||||
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
||||||
#ifdef CONFIG_RTW_80211R
|
#ifdef CONFIG_RTW_80211R
|
||||||
struct ft_roam_info *pft_roam = &(pmlmepriv->ft_roam);
|
struct ft_roam_info *pft_roam = &(pmlmepriv->ft_roam);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* update beacon_key */
|
||||||
|
if (pmlmepriv->roam_network->bcn_keys_valid)
|
||||||
|
_rtw_memcpy(&al->mlmepriv.cur_beacon_keys,
|
||||||
|
&pmlmepriv->roam_network->bcn_keys, sizeof(struct beacon_keys));
|
||||||
|
else
|
||||||
|
RTW_WARN("WNM : invalid beacon key!!\n");
|
||||||
|
|
||||||
|
#ifdef CONFIG_RTW_80211R
|
||||||
if (rtw_ft_otd_roam(padapter)) {
|
if (rtw_ft_otd_roam(padapter)) {
|
||||||
pmlmeinfo->state = WIFI_FW_AUTH_SUCCESS | WIFI_FW_STATION_STATE;
|
pmlmeinfo->state = WIFI_FW_AUTH_SUCCESS | WIFI_FW_STATION_STATE;
|
||||||
pft_roam->ft_event.ies =
|
pft_roam->ft_event.ies =
|
||||||
@@ -1523,13 +1532,6 @@ void rtw_wnm_start_clnt_join(_adapter *padapter, struct _ADAPTER_LINK *al)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* update beacon_key */
|
|
||||||
if (pmlmepriv->roam_network->bcn_keys_valid)
|
|
||||||
_rtw_memcpy(&al->mlmepriv.cur_beacon_keys,
|
|
||||||
&pmlmepriv->roam_network->bcn_keys, sizeof(struct beacon_keys));
|
|
||||||
else
|
|
||||||
RTW_WARN("WNM : invalid beacon key!!\n");
|
|
||||||
|
|
||||||
pmlmeinfo->state = WIFI_FW_AUTH_NULL | WIFI_FW_STATION_STATE;
|
pmlmeinfo->state = WIFI_FW_AUTH_NULL | WIFI_FW_STATION_STATE;
|
||||||
start_clnt_auth(padapter);
|
start_clnt_auth(padapter);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user