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
This commit is contained in:
Abhishek Singh 2021-07-01 16:29:02 +05:30 • committed by Madan Koyyalamudi
commit b0d9a035b4
2 changed files with 10 additions and 0 deletions

View file

@ -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) {
/*

View file

@ -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");