On 02/13/2015 08:42 AM, Sakari Ailus wrote: > The last argument of vb2_dc_get_user_pages() is of type enum > dma_data_direction, but the caller, vb2_dc_get_userptr() passes a value > which is the result of comparison dma_dir == DMA_FROM_DEVICE. This results > in the write parameter to get_user_pages() being zero in all cases, i.e. > that the caller has no intent to write there. > > This was broken by patch "vb2: replace 'write' by 'dma_dir'". > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Yuck. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Regards, Hans > --- > drivers/media/v4l2-core/videobuf2-dma-contig.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c > index b481d20..69e0483 100644 > --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c > +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c > @@ -632,8 +632,7 @@ static void *vb2_dc_get_userptr(void *alloc_ctx, unsigned long vaddr, > } > > /* extract page list from userspace mapping */ > - ret = vb2_dc_get_user_pages(start, pages, n_pages, vma, > - dma_dir == DMA_FROM_DEVICE); > + ret = vb2_dc_get_user_pages(start, pages, n_pages, vma, dma_dir); > if (ret) { > unsigned long pfn; > if (vb2_dc_get_user_pfn(start, n_pages, vma, &pfn) == 0) { > -- 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