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
此提交包含在:
Nandha Kishore Easwaran
2020-02-19 14:15:49 +05:30
提交者 nshrivas
父節點 5e4030f6c3
當前提交 f5bf6a10e8

查看文件

@@ -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);
vdev_rsp->timer_status = QDF_STATUS_SUCCESS;
if (clear_bit == DELETE_RESPONSE_BIT)
txops->psoc_vdev_rsp_timer_deinit(psoc,
vdev_rsp->vdev_id);
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) {
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