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
Esse commit está contido em:
Nandha Kishore Easwaran
2020-02-19 14:15:49 +05:30
commit de nshrivas
commit f5bf6a10e8

Ver arquivo

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