videobuf_waiton() must unlock and relock ext_lock if it has to wait. For that to happen it needs the videobuf_queue pointer. Don't attempt to unlock/relock q->ext_lock unless it was locked in the first place. vb->state has to be protected by a spinlock to be safe. This patch is based on code from Mauro Carvalho Chehab <mchehab@redhat.com>. [mchehab@redhat.com: add extra argument to a few missing places] Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
---|---|---|
.. | ||
cx25821-alsa.c | ||
cx25821-audio-upstream.c | ||
cx25821-audio-upstream.h | ||
cx25821-audio.h | ||
cx25821-biffuncs.h | ||
cx25821-cards.c | ||
cx25821-core.c | ||
cx25821-gpio.c | ||
cx25821-gpio.h | ||
cx25821-i2c.c | ||
cx25821-medusa-defines.h | ||
cx25821-medusa-reg.h | ||
cx25821-medusa-video.c | ||
cx25821-medusa-video.h | ||
cx25821-reg.h | ||
cx25821-sram.h | ||
cx25821-video-upstream-ch2.c | ||
cx25821-video-upstream-ch2.h | ||
cx25821-video-upstream.c | ||
cx25821-video-upstream.h | ||
cx25821-video.c | ||
cx25821-video.h | ||
cx25821.h | ||
Kconfig | ||
Makefile | ||
README |
Todo: - checkpatch.pl cleanups - sparse cleanups Please send patches to linux-media@vger.kernel.org