summaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorJohn Cox <jc@kynesim.co.uk>2020-06-17 15:21:52 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-07-04 12:41:57 +0200
commit961d3b27a2aff52dda0b97d35085a743a27c2f46 (patch)
tree63703e1b2c80b501b94df64d60c5cacffca3d18a /drivers/media/common
parent906dceb48dfa1e7c99c32e6b25878d47023e916b (diff)
downloadlinux-961d3b27a2aff52dda0b97d35085a743a27c2f46.tar.bz2
media: videobuf2: Fix length check for single plane dmabuf queueing
Check against length in v4l2_buffer rather than vb2_buffer when the buffer is a dmabuf. This makes the single plane test the same as the existing multiplanar test. Signed-off-by: John Cox <jc@kynesim.co.uk> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/videobuf2/videobuf2-v4l2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/common/videobuf2/videobuf2-v4l2.c b/drivers/media/common/videobuf2/videobuf2-v4l2.c
index 98477a82c810..57aa183bd198 100644
--- a/drivers/media/common/videobuf2/videobuf2-v4l2.c
+++ b/drivers/media/common/videobuf2/videobuf2-v4l2.c
@@ -117,7 +117,8 @@ static int __verify_length(struct vb2_buffer *vb, const struct v4l2_buffer *b)
return -EINVAL;
}
} else {
- length = (b->memory == VB2_MEMORY_USERPTR)
+ length = (b->memory == VB2_MEMORY_USERPTR ||
+ b->memory == VB2_MEMORY_DMABUF)
? b->length : vb->planes[0].length;
if (b->bytesused > length)