mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
Fixed redundant association requests when WPA3 SAE H2E authentication fails
Bug 5578305 Change-Id: I495c2311bc79b84df1a367fa9c7b89c90888ec45 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/+/3485390 GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: Shobek Attupurath <sattupurath@nvidia.com> Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
188f83f47a
commit
1b4312e37b
@@ -3134,14 +3134,6 @@ void rtw_join_timeout_handler(void *ctx)
|
|||||||
if (RTW_CANNOT_RUN(adapter_to_dvobj(adapter)))
|
if (RTW_CANNOT_RUN(adapter_to_dvobj(adapter)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* SAE auth timeout, send association request to force trigger disconnected by AP */
|
|
||||||
if ((check_fwstate(pmlmepriv, WIFI_STATION_STATE) == _TRUE) &&
|
|
||||||
(pmlmeinfo->state & WIFI_FW_AUTH_STATE) &&
|
|
||||||
rtw_sec_chk_auth_type(adapter, MLME_AUTHTYPE_SAE)) {
|
|
||||||
RTW_INFO("%s: issue_assocreq due to SAE auth timeout.\n", __FUNCTION__);
|
|
||||||
issue_assocreq(adapter);
|
|
||||||
}
|
|
||||||
|
|
||||||
_rtw_spinlock_bh(&pmlmepriv->lock);
|
_rtw_spinlock_bh(&pmlmepriv->lock);
|
||||||
#ifdef CONFIG_STA_CMD_DISPR
|
#ifdef CONFIG_STA_CMD_DISPR
|
||||||
if (check_fwstate(pmlmepriv, WIFI_UNDER_LINKING) == _TRUE)
|
if (check_fwstate(pmlmepriv, WIFI_UNDER_LINKING) == _TRUE)
|
||||||
|
|||||||
@@ -11358,10 +11358,24 @@ void link_timer_hdl(void *ctx)
|
|||||||
if (rtw_sec_chk_auth_type(padapter, MLME_AUTHTYPE_SAE)) {
|
if (rtw_sec_chk_auth_type(padapter, MLME_AUTHTYPE_SAE)) {
|
||||||
RTW_INFO("link_timer_hdl: SAE auth timeout.\n");
|
RTW_INFO("link_timer_hdl: SAE auth timeout.\n");
|
||||||
if (pmlmeinfo->auth_status) {
|
if (pmlmeinfo->auth_status) {
|
||||||
|
if (pmlmeinfo->auth_status == WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY) {
|
||||||
|
/* Receive status 30, send association request to force trigger disconnected by AP */
|
||||||
|
RTW_INFO("%s: issue_assocreq due to receive auth frame with"
|
||||||
|
"status 30.\n", __FUNCTION__);
|
||||||
|
issue_assocreq(padapter);
|
||||||
|
#ifdef CONFIG_RTW_ANDROID
|
||||||
|
pmlmeinfo->auth_status = WLAN_STATUS_AUTH_TIMEOUT;
|
||||||
|
RTW_INFO("%s SAE WKRD auth reject, change status code: %d\n",
|
||||||
|
__func__, pmlmeinfo->auth_status);
|
||||||
|
#endif /*CONFIG_RTW_ANDROID*/
|
||||||
|
}
|
||||||
report_join_res(padapter, -1, pmlmeinfo->auth_status);
|
report_join_res(padapter, -1, pmlmeinfo->auth_status);
|
||||||
pmlmeinfo->auth_status = 0; /* reset */
|
pmlmeinfo->auth_status = 0; /* reset */
|
||||||
} else {
|
} else {
|
||||||
report_join_res(padapter, -1, WLAN_STATUS_AUTH_TIMEOUT);
|
report_join_res(padapter, -1, WLAN_STATUS_AUTH_TIMEOUT);
|
||||||
|
/* SAE auth timeout, send association request to force trigger disconnected by AP */
|
||||||
|
RTW_INFO("%s: issue_assocreq due to SAE auth timeout.\n", __FUNCTION__);
|
||||||
|
issue_assocreq(padapter);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user