summaryrefslogtreecommitdiffstats
path: root/drivers/media/v4l2-core/videobuf2-core.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2015-03-17 08:56:31 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-05-01 07:17:27 -0300
commit48b25a3a713b90988b6882d318f7c0a6bed9aabc (patch)
tree818fab949bd94cbafbef001ca307d4756dd9df1c /drivers/media/v4l2-core/videobuf2-core.c
parent9c3f205252f8ae2af9794d68bcbfc49fb0812ccf (diff)
downloadop-kernel-dev-48b25a3a713b90988b6882d318f7c0a6bed9aabc.zip
op-kernel-dev-48b25a3a713b90988b6882d318f7c0a6bed9aabc.tar.gz
[media] vb2: Push mmap_sem down to memops
Currently vb2 core acquires mmap_sem just around call to __qbuf_userptr(). However since commit f035eb4e976ef5 (videobuf2: fix lockdep warning) it isn't necessary to acquire it so early as we no longer have to drop queue mutex before acquiring mmap_sem. So push acquisition of mmap_sem down into .get_userptr and .put_userptr memops so that the semaphore is acquired for a shorter time and it is clearer what it is needed for. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/v4l2-core/videobuf2-core.c')
-rw-r--r--drivers/media/v4l2-core/videobuf2-core.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
index 66ada01..20cdbc0 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -1657,9 +1657,7 @@ static int __buf_prepare(struct vb2_buffer *vb, const struct v4l2_buffer *b)
ret = __qbuf_mmap(vb, b);
break;
case V4L2_MEMORY_USERPTR:
- down_read(&current->mm->mmap_sem);
ret = __qbuf_userptr(vb, b);
- up_read(&current->mm->mmap_sem);
break;
case V4L2_MEMORY_DMABUF:
ret = __qbuf_dmabuf(vb, b);
OpenPOWER on IntegriCloud