diff --git a/core/hdd/src/wlan_hdd_wmm.c b/core/hdd/src/wlan_hdd_wmm.c index f2699f1ab4e3..9b93e2711fa1 100644 --- a/core/hdd/src/wlan_hdd_wmm.c +++ b/core/hdd/src/wlan_hdd_wmm.c @@ -248,72 +248,26 @@ static void hdd_wmm_disable_tl_uapsd(hdd_wmm_qos_context_t *pQosContext) sme_ac_enum_type acType = pQosContext->acType; hdd_wmm_ac_status_t *pAc = &pAdapter->hddWmmStatus.wmmAcStatus[acType]; CDF_STATUS status; - uint32_t service_interval; - uint32_t suspension_interval; - uint8_t uapsd_mask; - uint8_t active_tspec = INVALID_TSPEC; - hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(pAdapter); - struct hdd_config *cfg = hdd_ctx->config; /* have we previously enabled UAPSD? */ if (pAc->wmmAcUapsdInfoValid == true) { - uapsd_mask = cfg->UapsdMask; - /* Finding uapsd_mask as per AC */ - uapsd_mask = uapsd_mask & (1 << (SME_AC_VO - acType)); + status = + sme_disable_uapsd_for_ac((WLAN_HDD_GET_CTX(pAdapter))-> + pcds_context, + (WLAN_HDD_GET_STATION_CTX_PTR + (pAdapter))->conn_info.staId[0], + acType, pAdapter->sessionId); - sme_qos_tspec_active( - (tpAniSirGlobal)WLAN_HDD_GET_HAL_CTX(pAdapter), acType, - pAdapter->sessionId, &active_tspec); - - /* Call sme_enable_uapsd_for_ac only when static uapsd mask - * is present and no active tspecs. - */ - - if (uapsd_mask && !active_tspec) { - switch (acType) { - case SME_AC_VO: - service_interval = cfg->InfraUapsdVoSrvIntv; - suspension_interval = cfg->InfraUapsdVoSuspIntv; - break; - case SME_AC_VI: - service_interval = cfg->InfraUapsdViSrvIntv; - suspension_interval = cfg->InfraUapsdViSuspIntv; - break; - case SME_AC_BE: - service_interval = cfg->InfraUapsdBeSrvIntv; - suspension_interval = cfg->InfraUapsdBeSuspIntv; - break; - case SME_AC_BK: - service_interval = cfg->InfraUapsdBkSrvIntv; - suspension_interval = cfg->InfraUapsdBkSuspIntv; - break; - default: - return; - } - - /* restore the UAPSD intervals configuration */ - status = sme_enable_uapsd_for_ac(hdd_ctx->pcds_context, - (WLAN_HDD_GET_STATION_CTX_PTR - (pAdapter))->conn_info.staId[0], - acType, - pAc->wmmAcTspecInfo.ts_info.tid, - pAc->wmmAcTspecInfo.ts_info.up, - service_interval, - suspension_interval, - pAc->wmmAcTspecInfo.ts_info.direction, - pAc->wmmAcTspecInfo.ts_info.psb, - pAdapter->sessionId, - cfg->DelayedTriggerFrmInt); - - if (!CDF_IS_STATUS_SUCCESS(status)) { - hdd_err("Failed to set U-APSD for AC=%d", - acType); - } else { - /* TL no longer has valid UAPSD info */ - pAc->wmmAcUapsdInfoValid = false; - hdd_err("Disabled UAPSD in TL for AC=%d", - acType); - } + if (!CDF_IS_STATUS_SUCCESS(status)) { + CDF_TRACE(CDF_MODULE_ID_HDD, WMM_TRACE_LEVEL_ERROR, + "%s: Failed to disable U-APSD for AC=%d", + __func__, acType); + } else { + /* TL no longer has valid UAPSD info */ + pAc->wmmAcUapsdInfoValid = false; + CDF_TRACE(CDF_MODULE_ID_HDD, WMM_TRACE_LEVEL_INFO, + "%s: Disabled UAPSD in TL for AC=%d", + __func__, acType); } } } diff --git a/core/sme/inc/sme_api.h b/core/sme/inc/sme_api.h index 39ae9660884f..15d3d864c9ac 100644 --- a/core/sme/inc/sme_api.h +++ b/core/sme/inc/sme_api.h @@ -83,8 +83,6 @@ reg_info_2 |= ((val & 0xff) << 8); \ } while (0) -/* Macro to indicate invalid no of tspecs */ -#define INVALID_TSPEC 100 #define SME_CONFIG_TO_ROAM_CONFIG 1 #define ROAM_CONFIG_TO_SME_CONFIG 2 diff --git a/core/sme/inc/sme_qos_api.h b/core/sme/inc/sme_qos_api.h index 2dd02de6511a..c9fd0cfed011 100644 --- a/core/sme/inc/sme_qos_api.h +++ b/core/sme/inc/sme_qos_api.h @@ -251,7 +251,6 @@ CDF_STATUS sme_offload_qos_process_out_of_uapsd_mode(tpAniSirGlobal mac_ctx, uint32_t session_id); CDF_STATUS sme_offload_qos_process_into_uapsd_mode(tpAniSirGlobal mac_ctx, uint32_t session_id); -bool sme_qos_tspec_active(tpAniSirGlobal pMac, sme_ac_enum_type ac, - uint8_t sessionId, uint8_t *pActiveTspec); + #endif /* #if !defined( __SME_QOSAPI_H ) */ diff --git a/core/sme/src/qos/sme_qos.c b/core/sme/src/qos/sme_qos.c index 7506fab4864d..8d127fe29302 100644 --- a/core/sme/src/qos/sme_qos.c +++ b/core/sme/src/qos/sme_qos.c @@ -7751,84 +7751,4 @@ static uint8_t sme_qos_assign_dialog_token(void) } return token; } - -/** - * sme_qos_tspec_active() - API exposed to HDD to check no of active Tspecs - * - * @pMac: The handle returned by macOpen - * @ac: Determines type of Access Category - * @sessionId: sessionId returned by sme_OpenSession - * @pActiveTspec: return the number of active Tspecs - * - * Return: true if success, otherwise false - */ -bool sme_qos_tspec_active(tpAniSirGlobal pMac, sme_ac_enum_type ac, - uint8_t sessionId, uint8_t *pActiveTspec) -{ - sme_QosSessionInfo *pSession = NULL; - sme_QosACInfo *pACInfo = NULL; - - if (!CSR_IS_SESSION_VALID(pMac, sessionId)) { - CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_ERROR, - "%s: %d: Session Id %d is invalid", - __func__, __LINE__, sessionId); - return false; - } - - pSession = &sme_qos_cb.sessionInfo[sessionId]; - - if (NULL == pSession) { - CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_ERROR, - "%s: %d pSession not found sessionId:%d", - __func__, __LINE__, sessionId); - return false; - } - - if (!pSession->sessionActive) { - CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_ERROR, - "%s: %d: Session %d is inactive", - __func__, __LINE__, sessionId); - return false; - } - - CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_INFO_HIGH, - "%s: %d: Session %d is active", - __func__, __LINE__, sessionId); - - pACInfo = &pSession->ac_info[ac]; - - /* Does this AC have QoS active? */ - if (SME_QOS_QOS_ON == pACInfo->curr_state) { - /* Yes, QoS is active on this AC */ - CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_INFO_HIGH, - "%s: %d: On session %d AC %d has QoS active", - __func__, __LINE__, sessionId, ac); - - /* Are any TSPECs active? */ - if (pACInfo->tspec_mask_status) { - /* at least 1 TSPEC is active. Are they both active? */ - if (SME_QOS_TSPEC_MASK_BIT_1_2_SET == - pACInfo->tspec_mask_status) { - /* both TSPECS are active */ - *pActiveTspec = 2; - } else { - /* only one TSPEC is active */ - *pActiveTspec = 1; - } - } else { - *pActiveTspec = 0; - } - } else { - /* Hardcoding value to INVALID_TSPEC to indicate the caller - * not to update UAPSD parameters as QOS is not active - */ - *pActiveTspec = INVALID_TSPEC; - CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_INFO_HIGH, - "%s: %d: On session %d AC %d has no QoS active", - __func__, __LINE__, sessionId, ac); - } - - return true; -} - #endif /* WLAN_MDM_CODE_REDUCTION_OPT */