diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 38345b633d75..2bd37d5207be 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -690,15 +690,19 @@ QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc) err_mac_close: mac_close(mac_handle); + gp_cds_context->mac_context = NULL; err_soc_detach: - /* todo: add propper error handling */ + cdp_soc_detach(gp_cds_context->dp_soc); + + ucfg_ocb_update_dp_handle(psoc, NULL); + pmo_ucfg_psoc_update_dp_handle(psoc, NULL); + wlan_psoc_set_dp_handle(psoc, NULL); + err_wma_close: cds_shutdown_notifier_purge(); wma_close(); wma_wmi_service_close(); - pmo_ucfg_psoc_update_dp_handle(psoc, NULL); - wlan_psoc_set_dp_handle(psoc, NULL); err_htc_close: if (gp_cds_context->htc_ctx) {