Re: [PATCH] media: v4l2-mem2mem: Fix spurious v4l2_m2m_buf_done

From: Hans Verkuil
Date: Mon Sep 28 2020 - 10:12:45 EST


On 28/09/2020 16:03, Ezequiel Garcia wrote:
> A seemingly bad rebase introduced a spurious v4l2_m2m_buf_done,
> which releases a buffer twice and therefore triggers a
> noisy warning on each job:
>
> WARNING: CPU: 0 PID: 0 at drivers/media/common/videobuf2/videobuf2-core.c:986 vb2_buffer_done+0x208/0x2a0
>
> Fix it by removing the spurious v4l2_m2m_buf_done.
>
> Reported-by: Adrian Ratiu <adrian.ratiu@xxxxxxxxxxxxx>
> Fixes: 911ea8ec42dea ("media: v4l2-mem2mem: add v4l2_m2m_suspend, v4l2_m2m_resume")
> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx>

Reviewed-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>

> ---
> drivers/media/v4l2-core/v4l2-mem2mem.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c
> index f626ba5ee3d9..b221b4e438a1 100644
> --- a/drivers/media/v4l2-core/v4l2-mem2mem.c
> +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c
> @@ -516,7 +516,6 @@ void v4l2_m2m_buf_done_and_job_finish(struct v4l2_m2m_dev *m2m_dev,
>
> if (WARN_ON(!src_buf || !dst_buf))
> goto unlock;
> - v4l2_m2m_buf_done(src_buf, state);
> dst_buf->is_held = src_buf->flags & V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF;
> if (!dst_buf->is_held) {
> v4l2_m2m_dst_buf_remove(m2m_ctx);
>