From d0a51da88b11dc15ac95628be845d4d449ff009d Mon Sep 17 00:00:00 2001 From: Abhinav Kumar Date: Tue, 28 Apr 2020 15:05:40 +0530 Subject: [PATCH] qcacld-3.0: Don't send disassoc frame to fw in case of HO failure In the case of roaming failure, FW sends HO fail indication to host and initiates peer deletion in fw. Host should not queue deauth frame to fw in case of HO_FAILURE. Due to commit id I99bf4573b59dc810e0a1529fcd48061d10acae4e, host sends a disconnect request to fw as part of HO failure handler. There could be a possibility that host queue disconnection frame after the vdev down in fw. This leads to assert in fw. Fix is to set process_ho_fail variable in disassociation request to true in case of ROAM_FAILURE. This flag tells LIM whether to send the disassoc req OTA or not. Change-Id: Ia504ff3ba8b07fcf66226b588eed379a71e2b896 CRs-Fixed: 2674297 --- core/sme/inc/csr_internal.h | 2 +- core/sme/src/csr/csr_api_roam.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/sme/inc/csr_internal.h b/core/sme/inc/csr_internal.h index c1983d06db..2575fbfe0a 100644 --- a/core/sme/inc/csr_internal.h +++ b/core/sme/inc/csr_internal.h @@ -623,7 +623,7 @@ struct csr_roam_session { bool nss_forced_1x1; bool disable_hi_rssi; bool dhcp_done; - uint8_t disconnect_reason; + tSirMacReasonCodes disconnect_reason; uint8_t uapsd_mask; struct scan_cmd_info scan_info; qdf_mc_timer_t roaming_offload_timer; diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 49ec805a77..9ff3265ee0 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -16622,7 +16622,7 @@ QDF_STATUS csr_send_mb_disassoc_req_msg(struct mac_context *mac, } pMsg->reasonCode = reasonCode; pMsg->process_ho_fail = (pSession->disconnect_reason == - eCSR_DISCONNECT_REASON_ROAM_HO_FAIL) ? true : false; + eSIR_MAC_FW_TRIGGERED_ROAM_FAILURE) ? true : false; /* Update the disconnect stats */ pSession->disconnect_stats.disconnection_cnt++;