Hi Hans, On Fri, Nov 20, 2015 at 05:45:48PM +0100, Hans Verkuil wrote: > From: Hans Verkuil <hans.verk...@cisco.com> > > The handling of q->plane_sizes was wrong in vb2_core_create_bufs(). > The q->plane_sizes array was global and it was overwritten by create_bufs. > So if reqbufs was called with e.g. size 100000 then q->plane_sizes[0] would > be set to 100000. If create_bufs was called afterwards with size 200000, > then q->plane_sizes[0] would be overwritten with the new value. Calling > create_bufs again for size 100000 would cause an error since 100000 is now > less than q->plane_sizes[0]. > > This patch fixes this problem by 1) removing q->plane_sizes and using the > vb->planes[].length field instead, and 2) by introducing a min_length field > in struct vb2_plane. This field is set to the plane size as returned by > the queue_setup op and is the minimum required plane size. So user pointers > or dmabufs should all be at least this size. > > Signed-off-by: Hans Verkuil <hans.verk...@cisco.com> > Reported-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Thanks! Acked-by: Sakari Ailus <sakari.ai...@linux.intel.com> -- Sakari Ailus e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk -- 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