diff --git a/core/cds/inc/cds_api.h b/core/cds/inc/cds_api.h index 140a453a11af..4a94baeee1af 100644 --- a/core/cds/inc/cds_api.h +++ b/core/cds/inc/cds_api.h @@ -215,8 +215,6 @@ void cds_flush_cache_rx_queue(void); QDF_STATUS cds_close(v_CONTEXT_t cds_context); -QDF_STATUS cds_shutdown(v_CONTEXT_t cds_context); - void cds_core_return_msg(void *pVContext, p_cds_msg_wrapper pMsgWrapper); void *cds_get_context(QDF_MODULE_ID moduleId); diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 69f68d76d42e..9f49466926b1 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -1440,98 +1440,6 @@ void cds_core_return_msg(void *pVContext, p_cds_msg_wrapper pMsgWrapper) cds_mq_put(&p_cds_context->freeVosMq, pMsgWrapper); } /* cds_core_return_msg() */ - -/** - * cds_shutdown() - shutdown CDS - * @cds_context: global cds context - * - * Return: QDF status - */ -QDF_STATUS cds_shutdown(v_CONTEXT_t cds_context) -{ - QDF_STATUS qdf_status; - tpAniSirGlobal pmac = (((p_cds_contextType)cds_context)->pMACContext); - - ol_txrx_pdev_detach(gp_cds_context->pdev_txrx_ctx, 1); - cds_free_context(cds_context, QDF_MODULE_ID_TXRX, - gp_cds_context->pdev_txrx_ctx); - - qdf_status = sme_close(((p_cds_contextType) cds_context)->pMACContext); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Failed to close SME", __func__); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } - /* - * CAC timer will be initiated and started only when SAP starts on - * DFS channel and it will be stopped and destroyed immediately once the - * radar detected or timedout. So as per design CAC timer should be - * destroyed after stop - */ - if (pmac->sap.SapDfsInfo.is_dfs_cac_timer_running) { - qdf_mc_timer_stop(&pmac->sap.SapDfsInfo.sap_dfs_cac_timer); - pmac->sap.SapDfsInfo.is_dfs_cac_timer_running = 0; - qdf_mc_timer_destroy(&pmac->sap.SapDfsInfo.sap_dfs_cac_timer); - } - - qdf_status = mac_close(((p_cds_contextType) cds_context)->pMACContext); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Failed to close MAC", __func__); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } - - ((p_cds_contextType) cds_context)->pMACContext = NULL; - - if (false == wma_needshutdown(cds_context)) { - - qdf_status = wma_close(cds_context); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Failed to close wma!", __func__); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } - } - - qdf_status = wma_wmi_work_close(cds_context); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Failed to close wma_wmi_work!", __func__); - QDF_ASSERT(0); - } - - if (gp_cds_context->htc_ctx) { - htc_stop(gp_cds_context->htc_ctx); - htc_destroy(gp_cds_context->htc_ctx); - gp_cds_context->htc_ctx = NULL; - } - - qdf_status = wma_wmi_service_close(cds_context); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: Failed to close wma_wmi_service!", __func__); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } - - cds_mq_deinit(&((p_cds_contextType) cds_context)->freeVosMq); - - qdf_status = qdf_event_destroy(&gp_cds_context->wmaCompleteEvent); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: failed to destroy wmaCompleteEvent", __func__); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } - - qdf_status = qdf_event_destroy(&gp_cds_context->ProbeEvent); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, - "%s: failed to destroy ProbeEvent", __func__); - QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); - } - - return QDF_STATUS_SUCCESS; -} - /** * cds_get_vdev_types() - get vdev type * @mode: mode