diff --git a/target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_tx_ops.c b/target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_tx_ops.c index 467ffdea35b5..1139d1e44edb 100644 --- a/target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_tx_ops.c +++ b/target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_tx_ops.c @@ -74,6 +74,7 @@ static QDF_STATUS target_if_vdev_mgr_rsp_timer_stop( if (vdev_rsp->timer_status != QDF_STATUS_E_TIMEOUT) qdf_timer_stop(&vdev_rsp->rsp_timer); + vdev_rsp->timer_status = QDF_STATUS_SUCCESS; /* * Releasing reference taken at the time of * starting response timer @@ -147,21 +148,6 @@ static QDF_STATUS target_if_vdev_mgr_rsp_timer_init( return QDF_STATUS_SUCCESS; } -static QDF_STATUS target_if_vdev_mgr_rsp_timer_deinit( - struct wlan_objmgr_vdev *vdev, - qdf_timer_t *rsp_timer) -{ - if (!vdev || !rsp_timer) { - mlme_err("Invalid input"); - return QDF_STATUS_E_INVAL; - } - - qdf_timer_free(rsp_timer); - mlme_debug("VDEV_%d: Response timer free", wlan_vdev_get_id(vdev)); - - return QDF_STATUS_SUCCESS; -} - struct wmi_unified *target_if_vdev_mgr_wmi_handle_get(struct wlan_objmgr_vdev *vdev) { @@ -951,8 +937,6 @@ target_if_vdev_mgr_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops) target_if_vdev_mgr_sta_ps_param_send; mlme_tx_ops->vdev_mgr_rsp_timer_init = target_if_vdev_mgr_rsp_timer_init; - mlme_tx_ops->vdev_mgr_rsp_timer_deinit = - target_if_vdev_mgr_rsp_timer_deinit; mlme_tx_ops->vdev_mgr_rsp_timer_mod = target_if_vdev_mgr_rsp_timer_mod; mlme_tx_ops->vdev_mgr_rsp_timer_stop = diff --git a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h index 7baa2d64c88a..938646e57423 100644 --- a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h +++ b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h @@ -192,7 +192,6 @@ struct wlan_lmac_if_ftm_tx_ops { * @vdev_mlme_attach: function to register events * @vdev_mlme_detach: function to unregister events * @vdev_mgr_rsp_timer_init: function to initialize vdev response timer - * @vdev_mgr_rsp_timer_deinit: function to free vdev response timer * @vdev_mgr_rsp_timer_mod: function to timer_mod vdev response timer * @vdev_mgr_rsp_timer_stop: function to stop vdev response timer * @vdev_create_send: function to send vdev create @@ -227,9 +226,6 @@ struct wlan_lmac_if_mlme_tx_ops { QDF_STATUS (*vdev_mgr_rsp_timer_init)( struct wlan_objmgr_vdev *vdev, qdf_timer_t *rsp_timer); - QDF_STATUS (*vdev_mgr_rsp_timer_deinit)( - struct wlan_objmgr_vdev *vdev, - qdf_timer_t *rsp_timer); QDF_STATUS (*vdev_mgr_rsp_timer_mod)( struct wlan_objmgr_vdev *vdev, struct vdev_response_timer *vdev_rsp, diff --git a/umac/mlme/mlme_objmgr/dispatcher/src/wlan_vdev_mlme_main.c b/umac/mlme/mlme_objmgr/dispatcher/src/wlan_vdev_mlme_main.c index 242ae846b40e..348b0a42be48 100644 --- a/umac/mlme/mlme_objmgr/dispatcher/src/wlan_vdev_mlme_main.c +++ b/umac/mlme/mlme_objmgr/dispatcher/src/wlan_vdev_mlme_main.c @@ -110,6 +110,7 @@ static QDF_STATUS mlme_vdev_obj_destroy_handler(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_psoc *psoc; struct cdp_soc_t *soc_txrx_handle; struct cdp_vdev *vdev_txrx_handle; + struct vdev_response_timer *vdev_rsp; if (!vdev) { mlme_err(" VDEV is NULL"); @@ -131,6 +132,8 @@ static QDF_STATUS mlme_vdev_obj_destroy_handler(struct wlan_objmgr_vdev *vdev, NULL, NULL); } + vdev_rsp = &vdev_mlme->vdev_rt; + qdf_timer_free(&vdev_rsp->rsp_timer); mlme_vdev_sm_destroy(vdev_mlme); mlme_vdev_ops_ext_hdl_destroy(vdev_mlme); diff --git a/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_rx_api.c b/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_rx_api.c index 2c3d35d4e4e9..b7584b9d3ca0 100644 --- a/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_rx_api.c +++ b/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_rx_api.c @@ -187,9 +187,7 @@ QDF_STATUS tgt_vdev_mgr_delete_response_handler( tx_ops = target_if_vdev_mgr_get_tx_ops(psoc); status = tx_ops->vdev_mgr_rsp_timer_stop(vdev, vdev_rsp, DELETE_RESPONSE_BIT); - if (QDF_IS_STATUS_SUCCESS(status)) { - tx_ops->vdev_mgr_rsp_timer_deinit(vdev, &vdev_rsp->rsp_timer); - } else { + if (QDF_IS_STATUS_ERROR(status)) { mlme_err("VDEV_%d: Unexpected response", rsp->vdev_id); goto tgt_vdev_mgr_delete_response_handler_end; }