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 e9d23e1297fb..b4253308a3f4 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 @@ -3569,10 +3569,7 @@ static void __lim_process_sme_addts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) if (!LIM_IS_STA_ROLE(psessionEntry)) { pe_err("AddTs received on AP - ignoring"); - lim_send_sme_addts_rsp(pMac, pSirAddts->rspReqd, eSIR_FAILURE, - psessionEntry, pSirAddts->req.tspec, - smesessionId, smetransactionId); - return; + goto send_failure_addts_rsp; } pStaDs = @@ -3581,19 +3578,13 @@ static void __lim_process_sme_addts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) if (pStaDs == NULL) { pe_err("Cannot find AP context for addts req"); - lim_send_sme_addts_rsp(pMac, pSirAddts->rspReqd, eSIR_FAILURE, - psessionEntry, pSirAddts->req.tspec, - smesessionId, smetransactionId); - return; + goto send_failure_addts_rsp; } if ((!pStaDs->valid) || (pStaDs->mlmStaContext.mlmState != eLIM_MLM_LINK_ESTABLISHED_STATE)) { pe_err("AddTs received in invalid MLM state"); - lim_send_sme_addts_rsp(pMac, pSirAddts->rspReqd, eSIR_FAILURE, - psessionEntry, pSirAddts->req.tspec, - smesessionId, smetransactionId); - return; + goto send_failure_addts_rsp; } pSirAddts->req.wsmTspecPresent = 0; @@ -3610,20 +3601,14 @@ static void __lim_process_sme_addts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) pSirAddts->req.lleTspecPresent = 1; else { pe_warn("ADDTS_REQ ignore - qos is disabled"); - lim_send_sme_addts_rsp(pMac, pSirAddts->rspReqd, eSIR_FAILURE, - psessionEntry, pSirAddts->req.tspec, - smesessionId, smetransactionId); - return; + goto send_failure_addts_rsp; } if ((psessionEntry->limSmeState != eLIM_SME_ASSOCIATED_STATE) && (psessionEntry->limSmeState != eLIM_SME_LINK_EST_STATE)) { pe_err("AddTs received in invalid LIMsme state (%d)", psessionEntry->limSmeState); - lim_send_sme_addts_rsp(pMac, pSirAddts->rspReqd, eSIR_FAILURE, - psessionEntry, pSirAddts->req.tspec, - smesessionId, smetransactionId); - return; + goto send_failure_addts_rsp; } if (pMac->lim.gLimAddtsSent) { @@ -3632,10 +3617,7 @@ static void __lim_process_sme_addts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) pMac->lim.gLimAddtsReq.req.tspec.tsinfo.traffic.tsid, pMac->lim.gLimAddtsReq.req.tspec.tsinfo.traffic. userPrio); - lim_send_sme_addts_rsp(pMac, pSirAddts->rspReqd, eSIR_FAILURE, - psessionEntry, pSirAddts->req.tspec, - smesessionId, smetransactionId); - return; + goto send_failure_addts_rsp; } sir_copy_mac_addr(peerMac, psessionEntry->bssId); @@ -3656,21 +3638,21 @@ static void __lim_process_sme_addts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) eSIR_SUCCESS) { pe_err("Unable to get Cfg param %d (Addts Rsp Timeout)", WNI_CFG_ADDTS_RSP_TIMEOUT); - return; + goto send_failure_addts_rsp; } timeout = SYS_MS_TO_TICKS(timeout); if (tx_timer_change(&pMac->lim.limTimers.gLimAddtsRspTimer, timeout, 0) != TX_SUCCESS) { pe_err("AddtsRsp timer change failed!"); - return; + goto send_failure_addts_rsp; } pMac->lim.gLimAddtsRspTimerCount++; if (tx_timer_change_context(&pMac->lim.limTimers.gLimAddtsRspTimer, pMac->lim.gLimAddtsRspTimerCount) != TX_SUCCESS) { pe_err("AddtsRsp timer change failed!"); - return; + goto send_failure_addts_rsp; } MTRACE(mac_trace (pMac, TRACE_CODE_TIMER_ACTIVATE, psessionEntry->peSessionId, @@ -3681,9 +3663,14 @@ static void __lim_process_sme_addts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) if (tx_timer_activate(&pMac->lim.limTimers.gLimAddtsRspTimer) != TX_SUCCESS) { pe_err("AddtsRsp timer activation failed!"); - return; + goto send_failure_addts_rsp; } return; + +send_failure_addts_rsp: + lim_send_sme_addts_rsp(pMac, pSirAddts->rspReqd, eSIR_FAILURE, + psessionEntry, pSirAddts->req.tspec, + smesessionId, smetransactionId); } static void __lim_process_sme_delts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) diff --git a/core/sme/inc/sme_qos_internal.h b/core/sme/inc/sme_qos_internal.h index 109fd50cfa67..9c66febfa6ea 100644 --- a/core/sme/inc/sme_qos_internal.h +++ b/core/sme/inc/sme_qos_internal.h @@ -123,17 +123,6 @@ QDF_STATUS sme_qos_msg_processor(tpAniSirGlobal pMac, uint16_t msg_type, ------------------------------------------------------------------------*/ QDF_STATUS sme_qos_validate_params(tpAniSirGlobal pMac, tSirBssDescription *pBssDesc); -/** - * sme_qos_remove_addts_delts_cmd - Remove addts/delts command - * @mac_ctx: Pointer to the global MAC structure. - * @session_id: Session id - * - * This function is used to remove addts/delts command - * during csr roam sync callback. - * - * Return: void - */ -void sme_qos_remove_addts_delts_cmd(tpAniSirGlobal mac_ctx, uint8_t session_id); QDF_STATUS sme_qos_csr_event_ind(tpAniSirGlobal pMac, uint8_t sessionId, sme_qos_csr_event_indType ind, void *pEvent_info); diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 4f622bf83ebf..77d89deb2c20 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19987,7 +19987,6 @@ static QDF_STATUS csr_process_roam_sync_callback(tpAniSirGlobal mac_ctx, eCSR_ASSOC_STATE_TYPE_INFRA_ASSOCIATED; sme_qos_csr_event_ind(mac_ctx, session_id, SME_QOS_CSR_REASSOC_COMPLETE, &assoc_info); - sme_qos_remove_addts_delts_cmd(mac_ctx, session_id); roam_info->pBssDesc = bss_desc; conn_profile->acm_mask = sme_qos_get_acm_mask(mac_ctx, bss_desc, NULL); diff --git a/core/sme/src/qos/sme_qos.c b/core/sme/src/qos/sme_qos.c index bf0d34686e35..b5bbe98017c1 100644 --- a/core/sme/src/qos/sme_qos.c +++ b/core/sme/src/qos/sme_qos.c @@ -908,27 +908,6 @@ QDF_STATUS sme_qos_validate_params(tpAniSirGlobal pMac, return status; } -void sme_qos_remove_addts_delts_cmd(tpAniSirGlobal mac_ctx, uint8_t session_id) -{ - tListElem *entry; - tSmeCmd *command; - - entry = csr_nonscan_active_ll_peek_head(mac_ctx, LL_ACCESS_LOCK); - if (NULL == entry) - return; - command = GET_BASE_ADDR(entry, tSmeCmd, Link); - if ((eSmeCommandAddTs == command->command || - eSmeCommandDelTs == command->command) && - command->sessionId == session_id) { - if (csr_nonscan_active_ll_remove_entry(mac_ctx, entry, - LL_ACCESS_LOCK)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, - "%s: removed addts/delts command", __func__); - qos_release_command(mac_ctx, command); - } - } -} - /*-------------------------------------------------------------------------- \brief sme_qos_csr_event_ind() - The QoS sub-module in SME expects notifications from CSR when certain events occur as mentioned in sme_qos_csr_event_indType.