diff options
| author | Meera Gande <mgande@codeaurora.org> | 2018-10-10 15:56:54 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-11-15 00:48:50 -0800 |
| commit | c75e2eae7d1f68b33ab6c59890ddab95eee46137 (patch) | |
| tree | b975e3201c9d1fbf5c1d2d2173d2ef80ed39ac80 | |
| parent | 23d37eecf80f7b08fde9a8f3d888855f9b08ca21 (diff) | |
msm: camera: isp: Reset request queue at stop
In few scenarios where the buffers are not
queued from HAL, request queue overflow is seen.
Added changes to reset the queue at destroy and
when the buffer is not available to process.
Change-Id: I7239175dda9cbc26fb65f568cbc5f7183ceaa24d
Signed-off-by: Meera Gande <mgande@codeaurora.org>
| -rw-r--r-- | drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c | 8 |
1 files changed, 8 insertions, 0 deletions
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 { |
