qcacmn: Donot deinit timer if it expired

Do not deinit timer if it has expired since expired timers are
automatically removed from timer list. Only deiniit and delete timer
if it is still running and FW response has been received

Change-Id: I0eb839ba152a20d9da37e1249aa0e4c0543eb494
This commit is contained in:
Nandha Kishore Easwaran
2020-02-19 14:15:49 +05:30
committed by nshrivas
parent 5e4030f6c3
commit f5bf6a10e8

View File

@@ -70,13 +70,18 @@ target_if_vdev_mgr_rsp_timer_stop(struct wlan_objmgr_psoc *psoc,
* This is triggered from timer expiry case only for
* which timer stop is not required
*/
if (vdev_rsp->timer_status != QDF_STATUS_E_TIMEOUT)
qdf_timer_stop(&vdev_rsp->rsp_timer);
if (vdev_rsp->timer_status == QDF_STATUS_E_TIMEOUT) {
qdf_atomic_set(&vdev_rsp->rsp_timer_inuse, 0);
vdev_rsp->psoc = NULL;
} else {
vdev_rsp->timer_status = QDF_STATUS_SUCCESS;
if (clear_bit == DELETE_RESPONSE_BIT)
if (clear_bit == DELETE_RESPONSE_BIT) {
txops->psoc_vdev_rsp_timer_deinit(psoc,
vdev_rsp->vdev_id);
} else {
qdf_timer_stop(&vdev_rsp->rsp_timer);
}
}
/*
* Releasing reference taken at the time of