diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index 349d95d9b8..0fd906b291 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -434,7 +434,6 @@ typedef enum eSirResultCodes { eSIR_SME_DEAUTH_STATUS, eSIR_PNO_SCAN_SUCCESS, eSIR_SME_INVALID_SESSION, - eSIR_SME_PEER_CREATE_FAILED, eSIR_DONOT_USE_RESULT_CODE = SIR_MAX_ENUM_SIZE } tSirResultCodes; diff --git a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c index 2d9fdafadb..207a7e9ab3 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c @@ -454,7 +454,6 @@ lim_process_mlm_post_join_suspend_link(struct mac_context *mac_ctx, void lim_process_mlm_join_req(struct mac_context *mac_ctx, tLimMlmJoinReq *mlm_join_req) { - tLimMlmJoinCnf mlmjoin_cnf; uint8_t sessionid; struct pe_session *session; @@ -463,41 +462,11 @@ void lim_process_mlm_join_req(struct mac_context *mac_ctx, session = pe_find_session_by_session_id(mac_ctx, sessionid); if (!session) { pe_err("SessionId:%d does not exist", sessionid); - goto error; - } - - if (!LIM_IS_AP_ROLE(session) && - ((session->limMlmState == eLIM_MLM_IDLE_STATE) || - (session->limMlmState == eLIM_MLM_JOINED_STATE)) && - (SIR_MAC_GET_ESS - (mlm_join_req->bssDescription.capabilityInfo) != - SIR_MAC_GET_IBSS(mlm_join_req->bssDescription. - capabilityInfo))) { - session->pLimMlmJoinReq = mlm_join_req; - lim_process_mlm_post_join_suspend_link(mac_ctx, session); return; } - /** - * Should not have received JOIN req in states other than - * Idle state or on AP. - * Return join confirm with invalid parameters code. - */ - pe_err("Session:%d Unexpected Join req, role %d state %X", - session->peSessionId, GET_LIM_SYSTEM_ROLE(session), - session->limMlmState); - lim_print_mlm_state(mac_ctx, LOGE, session->limMlmState); - -error: - qdf_mem_free(mlm_join_req); - if (session) - session->pLimMlmJoinReq = NULL; - mlmjoin_cnf.resultCode = eSIR_SME_PEER_CREATE_FAILED; - mlmjoin_cnf.sessionId = sessionid; - mlmjoin_cnf.protStatusCode = STATUS_UNSPECIFIED_FAILURE; - lim_post_sme_message(mac_ctx, LIM_MLM_JOIN_CNF, - (uint32_t *)&mlmjoin_cnf); - + session->pLimMlmJoinReq = mlm_join_req; + lim_process_mlm_post_join_suspend_link(mac_ctx, session); } /** diff --git a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c index bc8e8b27f0..4cf1c51359 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c @@ -1265,6 +1265,7 @@ QDF_STATUS lim_sta_handle_connect_fail(join_params *param) struct pe_session *session; struct mac_context *mac_ctx; tpDphHashNode sta_ds = NULL; + QDF_STATUS status; if (!param) { pe_err("param is NULL"); @@ -1314,37 +1315,14 @@ QDF_STATUS lim_sta_handle_connect_fail(join_params *param) session->lim_join_req = NULL; error: - /* - * Delete the session if JOIN failure occurred. - * if the peer is not created, then there is no - * need to send down the set link state which will - * try to delete the peer. Instead a join response - * failure should be sent to the upper layers. - */ - if (param->result_code != eSIR_SME_PEER_CREATE_FAILED) { - QDF_STATUS status; + session->prot_status_code = param->prot_status_code; + session->result_code = param->result_code; - session->prot_status_code = param->prot_status_code; - session->result_code = param->result_code; + status = wma_send_vdev_stop(session->smeSessionId); + if (QDF_IS_STATUS_ERROR(status)) + lim_join_result_callback(mac_ctx, session->smeSessionId); - status = wma_send_vdev_stop(session->smeSessionId); - if (QDF_IS_STATUS_ERROR(status)) { - lim_join_result_callback(mac_ctx, - session->smeSessionId); - } - - return status; - } - - - lim_send_sme_join_reassoc_rsp(mac_ctx, eWNI_SME_JOIN_RSP, - param->result_code, - param->prot_status_code, - session, session->smeSessionId); - if (param->result_code == eSIR_SME_PEER_CREATE_FAILED) - pe_delete_session(mac_ctx, session); - - return QDF_STATUS_SUCCESS; + return status; } /**