aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/videobuf-vmalloc.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2010-09-20 16:24:30 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-20 23:06:14 -0400
commit97397687886aa8ecd4ec603fab9e70e970c11597 (patch)
tree339d460b43d2ec7206c9d147d2ad6f8fcbfa3870 /drivers/media/video/videobuf-vmalloc.c
parentee6869afc922a9849979e49bb3bbcad794872fcb (diff)
V4L/DVB: videobuf: prepare to make locking optional in videobuf
Currently videobuf uses the vb_lock mutex to lock its data structures. But this locking will (optionally) move into the v4l2 core, which means that in that case vb_lock shouldn't be used since the external lock is already held. Prepare for this by adding a pointer to such an external mutex and don't lock if that pointer is set. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/videobuf-vmalloc.c')
-rw-r--r--drivers/media/video/videobuf-vmalloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/videobuf-vmalloc.c b/drivers/media/video/videobuf-vmalloc.c
index e7fe31d54f0..91348b3170f 100644
--- a/drivers/media/video/videobuf-vmalloc.c
+++ b/drivers/media/video/videobuf-vmalloc.c
@@ -75,7 +75,7 @@ static void videobuf_vm_close(struct vm_area_struct *vma)
75 struct videobuf_vmalloc_memory *mem; 75 struct videobuf_vmalloc_memory *mem;
76 76
77 dprintk(1, "munmap %p q=%p\n", map, q); 77 dprintk(1, "munmap %p q=%p\n", map, q);
78 mutex_lock(&q->vb_lock); 78 videobuf_queue_lock(q);
79 79
80 /* We need first to cancel streams, before unmapping */ 80 /* We need first to cancel streams, before unmapping */
81 if (q->streaming) 81 if (q->streaming)
@@ -114,7 +114,7 @@ static void videobuf_vm_close(struct vm_area_struct *vma)
114 114
115 kfree(map); 115 kfree(map);
116 116
117 mutex_unlock(&q->vb_lock); 117 videobuf_queue_unlock(q);
118 } 118 }
119 119
120 return; 120 return;