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> |
||
---|---|---|
.. | ||
audiochip.h | ||
cs53l32a.h | ||
cs5345.h | ||
cx2341x.h | ||
cx25840.h | ||
i2c-addr.h | ||
ir-common.h | ||
ir-kbd-i2c.h | ||
m52790.h | ||
msp3400.h | ||
ovcamchip.h | ||
pwc-ioctl.h | ||
rds.h | ||
saa6752hs.h | ||
saa7115.h | ||
saa7127.h | ||
saa7146.h | ||
saa7146_vv.h | ||
soc_camera.h | ||
tuner-types.h | ||
tuner.h | ||
tvaudio.h | ||
tveeprom.h | ||
tvp5150.h | ||
upd64031a.h | ||
upd64083.h | ||
v4l2-chip-ident.h | ||
v4l2-common.h | ||
v4l2-dev.h | ||
v4l2-i2c-drv-legacy.h | ||
v4l2-i2c-drv.h | ||
v4l2-int-device.h | ||
videobuf-core.h | ||
videobuf-dma-sg.h | ||
videobuf-dvb.h | ||
videobuf-vmalloc.h | ||
wm8775.h |