diff --git a/core/bmi/src/bmi.c b/core/bmi/src/bmi.c index 502f675faacd..fb6d48f99636 100644 --- a/core/bmi/src/bmi.c +++ b/core/bmi/src/bmi.c @@ -547,8 +547,8 @@ QDF_STATUS ol_cds_init(qdf_device_t qdf_dev, void *hif_ctx) if (NO_BMI) return QDF_STATUS_SUCCESS; /* no BMI for Q6 bring up */ - status = cds_alloc_context(cds_get_global_context(), QDF_MODULE_ID_BMI, - (void **)&ol_info, sizeof(*ol_info)); + status = cds_alloc_context(QDF_MODULE_ID_BMI, + (void **)&ol_info, sizeof(*ol_info)); if (status != QDF_STATUS_SUCCESS) { BMI_ERR("%s: CDS Allocation failed for ol_bmi context", @@ -580,5 +580,5 @@ void ol_cds_free(void) if (NO_BMI) return; - cds_free_context(cds_get_global_context(), QDF_MODULE_ID_BMI, ol_info); + cds_free_context(QDF_MODULE_ID_BMI, ol_info); } diff --git a/core/cds/inc/cds_api.h b/core/cds/inc/cds_api.h index 873160edd8d4..40fefac7c3ab 100644 --- a/core/cds/inc/cds_api.h +++ b/core/cds/inc/cds_api.h @@ -327,11 +327,10 @@ uint8_t cds_get_datapath_handles(void **soc, struct cdp_pdev **pdev, struct cdp_vdev **vdev, uint8_t sessionId); v_CONTEXT_t cds_get_global_context(void); -QDF_STATUS cds_alloc_context(void *p_cds_context, QDF_MODULE_ID moduleID, - void **ppModuleContext, uint32_t size); +QDF_STATUS cds_alloc_context(QDF_MODULE_ID moduleID, void **ppModuleContext, + uint32_t size); -QDF_STATUS cds_free_context(void *p_cds_context, QDF_MODULE_ID moduleID, - void *pModuleContext); +QDF_STATUS cds_free_context(QDF_MODULE_ID moduleID, void *pModuleContext); QDF_STATUS cds_set_context(QDF_MODULE_ID module_id, void *context); diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index e9578f01a79c..23fc4ff57e9a 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -1398,7 +1398,6 @@ void cds_clear_fw_state(enum cds_fw_state state) /** * cds_alloc_context() - allocate a context within the CDS global Context - * @p_cds_context: pointer to the global Vos context * @moduleId: module ID who's context area is being allocated. * @ppModuleContext: pointer to location where the pointer to the * allocated context is returned. Note this output pointer @@ -1410,60 +1409,46 @@ void cds_clear_fw_state(enum cds_fw_state state) * * Return: QDF status */ -QDF_STATUS cds_alloc_context(void *p_cds_context, QDF_MODULE_ID moduleID, +QDF_STATUS cds_alloc_context(QDF_MODULE_ID moduleID, void **ppModuleContext, uint32_t size) { void **pGpModContext = NULL; - if (p_cds_context == NULL) { + if (!gp_cds_context) { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, "%s: cds context is null", __func__); return QDF_STATUS_E_FAILURE; } - if ((gp_cds_context != p_cds_context) || (ppModuleContext == NULL)) { + if (!ppModuleContext) { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: context mismatch or null param passed", + "%s: null param passed", __func__); return QDF_STATUS_E_FAILURE; } switch (moduleID) { case QDF_MODULE_ID_WMA: - { pGpModContext = &(gp_cds_context->pWMAContext); break; - } case QDF_MODULE_ID_HIF: - { pGpModContext = &(gp_cds_context->pHIFContext); break; - } case QDF_MODULE_ID_BMI: - { pGpModContext = &(gp_cds_context->g_ol_context); break; - } - case QDF_MODULE_ID_EPPING: - case QDF_MODULE_ID_SME: - case QDF_MODULE_ID_PE: - case QDF_MODULE_ID_HDD: - case QDF_MODULE_ID_HDD_SOFTAP: default: - { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Module ID %i " - "does not have its context allocated by CDS", + "%s: Module ID %i does not have its context allocated by CDS", __func__, moduleID); QDF_ASSERT(0); return QDF_STATUS_E_INVAL; } - } - if (NULL != *pGpModContext) { + if (*pGpModContext) { /* Context has already been allocated! * Prevent double allocation */ @@ -1477,9 +1462,9 @@ QDF_STATUS cds_alloc_context(void *p_cds_context, QDF_MODULE_ID moduleID, *ppModuleContext = qdf_mem_malloc(size); - if (*ppModuleContext == NULL) { + if (!*ppModuleContext) { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Failed to " "allocate Context for module ID %i", + "%s: Failed to allocate Context for module ID %i", __func__, moduleID); QDF_ASSERT(0); return QDF_STATUS_E_NOMEM; @@ -1530,7 +1515,6 @@ QDF_STATUS cds_set_context(QDF_MODULE_ID module_id, void *context) /** * cds_free_context() - free an allocated context within the * CDS global Context - * @p_cds_context: pointer to the global Vos context * @moduleId: module ID who's context area is being free * @pModuleContext: pointer to module context area to be free'd. * @@ -1539,50 +1523,40 @@ QDF_STATUS cds_set_context(QDF_MODULE_ID module_id, void *context) * * Return: QDF status */ -QDF_STATUS cds_free_context(void *p_cds_context, QDF_MODULE_ID moduleID, - void *pModuleContext) +QDF_STATUS cds_free_context(QDF_MODULE_ID moduleID, void *pModuleContext) { void **pGpModContext = NULL; - if ((p_cds_context == NULL) || (gp_cds_context != p_cds_context) || - (pModuleContext == NULL)) { + if (!gp_cds_context) { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Null params or context mismatch", __func__); + "%s: cds context is null", __func__); + return QDF_STATUS_E_FAILURE; + } + + if (!pModuleContext) { + QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, + "%s: Null param", __func__); return QDF_STATUS_E_FAILURE; } switch (moduleID) { case QDF_MODULE_ID_WMA: - { pGpModContext = &(gp_cds_context->pWMAContext); break; - } case QDF_MODULE_ID_HIF: - { pGpModContext = &(gp_cds_context->pHIFContext); break; - } case QDF_MODULE_ID_TXRX: - { pGpModContext = (void **)&(gp_cds_context->pdev_txrx_ctx); break; - } case QDF_MODULE_ID_BMI: - { pGpModContext = &(gp_cds_context->g_ol_context); break; - } - case QDF_MODULE_ID_EPPING: - case QDF_MODULE_ID_HDD: - case QDF_MODULE_ID_SME: - case QDF_MODULE_ID_PE: - case QDF_MODULE_ID_HDD_SOFTAP: default: - { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, "%s: Module ID %i " "does not have its context allocated by CDS", @@ -1590,13 +1564,11 @@ QDF_STATUS cds_free_context(void *p_cds_context, QDF_MODULE_ID moduleID, QDF_ASSERT(0); return QDF_STATUS_E_INVAL; } - } if (NULL == *pGpModContext) { /* Context has not been allocated or freed already! */ QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Module ID %i " - "context has not been allocated or freed already", + "%s: Module ID %i context has not been allocated or freed already", __func__, moduleID); return QDF_STATUS_E_FAILURE; } @@ -1607,8 +1579,7 @@ QDF_STATUS cds_free_context(void *p_cds_context, QDF_MODULE_ID moduleID, return QDF_STATUS_E_FAILURE; } - if (pModuleContext != NULL) - qdf_mem_free(pModuleContext); + qdf_mem_free(pModuleContext); *pGpModContext = NULL; diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 5f57fb6cd799..51835f85c27a 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -2250,9 +2250,9 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc, } /* Alloc memory for WMA Context */ - qdf_status = cds_alloc_context(cds_context, QDF_MODULE_ID_WMA, + qdf_status = cds_alloc_context(QDF_MODULE_ID_WMA, (void **)&wma_handle, - sizeof(t_wma_handle)); + sizeof(*wma_handle)); if (qdf_status != QDF_STATUS_SUCCESS) { WMA_LOGE("%s: Memory allocation failed for wma_handle", @@ -2778,7 +2778,7 @@ err_wma_handle: qdf_wake_lock_destroy(&wma_handle->roam_ho_wl); } - cds_free_context(cds_context, QDF_MODULE_ID_WMA, wma_handle); + cds_free_context(QDF_MODULE_ID_WMA, wma_handle); WMA_LOGD("%s: Exit", __func__); @@ -3619,8 +3619,7 @@ QDF_STATUS wma_wmi_service_close(void) qdf_mem_free(wma_handle->interfaces); /* free the wma_handle */ - cds_free_context(wma_handle->cds_context, QDF_MODULE_ID_WMA, - wma_handle); + cds_free_context(QDF_MODULE_ID_WMA, wma_handle); qdf_mem_free(((p_cds_contextType) cds_ctx)->cfg_ctx); WMA_LOGD("%s: Exit", __func__);