diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2015-02-13 02:42:37 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-04-02 07:56:26 -0400 |
commit | 4879785ed511083676f27a016c9ad6c46c8e5737 (patch) | |
tree | 950fd9fa766afab16964445b613959b6be4413cd /drivers/media | |
parent | a0f10c131cc49d7d84394beb7903e1f246331224 (diff) |
[media] vb2: Fix dma_dir setting for dma-contig mem type
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@linux.intel.com>
Cc: stable@vger.kernel.org # for v3.19
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/v4l2-core/videobuf2-dma-contig.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c index b481d20c8372..69e0483adfee 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, | |||
632 | } | 632 | } |
633 | 633 | ||
634 | /* extract page list from userspace mapping */ | 634 | /* extract page list from userspace mapping */ |
635 | ret = vb2_dc_get_user_pages(start, pages, n_pages, vma, | 635 | ret = vb2_dc_get_user_pages(start, pages, n_pages, vma, dma_dir); |
636 | dma_dir == DMA_FROM_DEVICE); | ||
637 | if (ret) { | 636 | if (ret) { |
638 | unsigned long pfn; | 637 | unsigned long pfn; |
639 | if (vb2_dc_get_user_pfn(start, n_pages, vma, &pfn) == 0) { | 638 | if (vb2_dc_get_user_pfn(start, n_pages, vma, &pfn) == 0) { |