From b0d9a035b4210daf15b209dbfd93407209427ef8 Mon Sep 17 00:00:00 2001 From: Abhishek Singh Date: Thu, 1 Jul 2021 16:29:02 +0530 Subject: [PATCH] qcacld-3.0: Trigger SSR if pe session already exist for vdev Trigger SSR if pe session already exist for vdev, i.e vdev is not in init state during connect req. Also Add SSR if roam command timeout. Change-Id: I83be76215f5c4daca2429a2528f825baabed92e3 CRs-Fixed: 2982362 --- core/mac/src/pe/lim/lim_process_sme_req_messages.c | 5 +++++ core/sme/src/common/sme_api.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 526478682b22..1c78bf521c5e 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -1089,6 +1089,8 @@ static QDF_STATUS lim_send_join_req(struct pe_session *session, session->vdev_id, wlan_vdev_mlme_get_state(session->vdev), wlan_vdev_mlme_get_substate(session->vdev)); + qdf_trigger_self_recovery(session->mac_ctx->psoc, + QDF_VDEV_SM_OUT_OF_SYNC); return status; } @@ -1286,6 +1288,9 @@ __lim_process_sme_join_req(struct mac_context *mac_ctx, void *msg_buf) QDF_MAC_ADDR_REF(bss_desc->bssId), session->limSmeState); + qdf_trigger_self_recovery(mac_ctx->psoc, + QDF_VDEV_SM_OUT_OF_SYNC); + if (session->limSmeState == eLIM_SME_LINK_EST_STATE && session->smeSessionId == sme_join_req->vdev_id) { /* diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index f757ae730d2c..bd48d1f2dce2 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -623,6 +623,11 @@ QDF_STATUS sme_ser_cmd_callback(struct wlan_serialization_command *cmd, csr_release_command_buffer(mac_ctx, sme_cmd); break; case WLAN_SER_CB_ACTIVE_CMD_TIMEOUT: + sme_cmd = cmd->umac_cmd; + if (sme_cmd && (sme_cmd->command == eSmeCommandRoam || + sme_cmd->command == eSmeCommandWmStatusChange)) + qdf_trigger_self_recovery(mac_ctx->psoc, + QDF_ACTIVE_LIST_TIMEOUT); break; default: sme_debug("unknown reason code");