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
此提交包含在:
@@ -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
|
||||
|
新增問題並參考
封鎖使用者