On Thu, Sep 19, 2013 at 4:37 PM, Philipp Zabel <p.za...@pengutronix.de> wrote:
> __setup_offsets fills the v4l2_planes' mem_offset fields, which is only valid
> for V4L2_MEMORY_MMAP type buffers. For V4L2_MEMORY_DMABUF and _USERPTR 
> buffers,
> this incorrectly overwrites the fd and userptr fields.

I'm not particularly against this change, but I'm curious if anything
that you were doing was broken by this call? The buffers are created
here, so their fields don't contain anything that could be overwritten
(although keeping them at 0 is preferable).

>
> Reported-by: Michael Olbrich <m.olbr...@pengutronix.de>
> Signed-off-by: Philipp Zabel <p.za...@pengutronix.de>
> ---
>  drivers/media/v4l2-core/videobuf2-core.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
> b/drivers/media/v4l2-core/videobuf2-core.c
> index 9c865da..95a798e 100644
> --- a/drivers/media/v4l2-core/videobuf2-core.c
> +++ b/drivers/media/v4l2-core/videobuf2-core.c
> @@ -241,7 +241,8 @@ static int __vb2_queue_alloc(struct vb2_queue *q, enum 
> v4l2_memory memory,
>                 q->bufs[q->num_buffers + buffer] = vb;
>         }
>
> -       __setup_offsets(q, buffer);
> +       if (memory == V4L2_MEMORY_MMAP)
> +               __setup_offsets(q, buffer);
>
>         dprintk(1, "Allocated %d buffers, %d plane(s) each\n",
>                         buffer, num_planes);
> --
> 1.8.4.rc3
>



-- 
Best regards,
Pawel Osciak
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to