81b2dbcad8
vidiocgmbuf() does this: mutex_lock(&fh->cap.vb_lock); retval = videobuf_mmap_setup(&fh->cap, gbuffers, gbufsize, V4L2_MEMORY_MMAP); and videobuf_mmap_setup() then just does mutex_lock(&q->vb_lock); ret = __videobuf_mmap_setup(q, bcount, bsize, memory); mutex_unlock(&q->vb_lock); which is an obvious double-take deadlock. This patch fixes this by having vidiocgmbuf() just call the __videobuf_mmap_setup function instead. Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org> Reported-by: Koos Vriezen <koos.vriezen@gmail.com> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
bt832.c | ||
bt832.h | ||
bt848.h | ||
bttv-audio-hook.c | ||
bttv-audio-hook.h | ||
bttv-cards.c | ||
bttv-driver.c | ||
bttv-gpio.c | ||
bttv-i2c.c | ||
bttv-if.c | ||
bttv-input.c | ||
bttv-risc.c | ||
bttv-vbi.c | ||
bttv.h | ||
bttvp.h | ||
Kconfig | ||
Makefile |