On Thu, Sep 19, 2013 at 4:37 PM, Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> 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.olbrich@xxxxxxxxxxxxxx> > Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html