diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c index 661850d6d7c6..40ece2ffcf4b 100644 --- a/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c @@ -172,6 +172,8 @@ static void msm_isp_axi_destroy_stream( stream_info->bufq_handle[k] = 0; stream_info->vfe_mask = 0; stream_info->state = AVAILABLE; + memset(&stream_info->request_queue_cmd, + 0, sizeof(stream_info->request_queue_cmd)); } } @@ -3617,6 +3619,9 @@ static int msm_isp_request_frame(struct vfe_device *vfe_dev, stream_info->undelivered_request_cnt--; pr_err_ratelimited("%s:%d fail to cfg HAL buffer\n", __func__, __LINE__); + queue_req->cmd_used = 0; + list_del(&queue_req->list); + stream_info->request_q_cnt--; return rc; } @@ -3655,6 +3660,9 @@ static int msm_isp_request_frame(struct vfe_device *vfe_dev, flags); pr_err_ratelimited("%s:%d fail to cfg HAL buffer\n", __func__, __LINE__); + queue_req->cmd_used = 0; + list_del(&queue_req->list); + stream_info->request_q_cnt--; return rc; } } else {