kernel-fxtec-pro1x/drivers/media/video
Brandon Philips 137d1cb19d V4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty queue
Add a waitqueue to wait on when there are no buffers in the buffer queue.
DQBUF waits on this queue without holding vb_lock to allow a QBUF to happen.
Once a buffer has been queued we recheck that the queue is still streaming and
wait on the new buffer's waitqueue while holding the vb_lock.  The driver
should come along in a timely manner and put the buffer into its next state
finishing the DQBUF.

By implementing this waitqueue it also brings the videobuf DQBUF up to spec and
it now blocks on O_NONBLOCK even when no buffers have been queued via QBUF:

"By default VIDIOC_DQBUF blocks when no buffer is in the outgoing queue."
 - V4L2 spec

Signed-off-by: Brandon Philips <bphilips@suse.de>
CC: Trent Piepho <xyzzy@speakeasy.org>
CC: Carl Karsten <carl@personnelware.com>
CC: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:07:57 -03:00
..
bt8xx V4L/DVB (7462): bttv: Fix some API non-compliances for some audio/input V4L2 calls 2008-04-24 14:07:56 -03:00
cpia2 V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
cx88 V4L/DVB (7463): cx88: Enable color killer by default 2008-04-24 14:07:56 -03:00
cx23885 V4L/DVB (7432): tda18271: allow device-specific configuration of rf agc top 2008-04-24 14:07:55 -03:00
cx25840 V4L/DVB (7344): cx25840: better PAL-M and NTSC-KR handling 2008-04-24 14:07:49 -03:00
em28xx V4L/DVB (7381): tuner: rename TUNER_PHILIPS_ATSC to TUNER_PHILIPS_FCV1236D 2008-04-24 14:07:52 -03:00
et61x251 V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
ivtv V4L/DVB (7378): cleanup variable initialization 2008-04-24 14:07:51 -03:00
ovcamchip
pvrusb2 V4L/DVB (7447): pvrusb2: Fix compilation warning 2008-04-24 14:07:55 -03:00
pwc V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
saa7134 V4L/DVB (7458): saa7134: Adds analog support for Avermedia A16D 2008-04-24 14:07:56 -03:00
sn9c102 V4L/DVB (7480): make sn9c102_i2c_try_write() static 2008-04-24 14:07:57 -03:00
usbvideo V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
usbvision V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
zc0301 V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
adv7170.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
adv7175.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
arv.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
bt819.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
bt856.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
bt866.c
btcx-risc.c
btcx-risc.h
bw-qcam.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
bw-qcam.h
c-qcam.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
cafe_ccic-regs.h
cafe_ccic.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
compat_ioctl32.c
cpia.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
cpia.h
cpia_pp.c
cpia_usb.c
cs53l32a.c V4L/DVB (6739): cs53l32a: codingstyle cleanups 2008-01-25 19:03:16 -02:00
cs5345.c V4L/DVB (6869): cs5345: new i2c driver 2008-01-25 19:04:08 -02:00
cs8420.h
cx2341x.c V4L/DVB (6861): cx2341x: command argument should be u32 instead of int 2008-01-25 19:04:04 -02:00
dabfirmware.h V4L/DVB (7248): dabfirmware.h add missing license 2008-04-24 14:07:44 -03:00
dabusb.c V4L/DVB (7274): dabusb: fix shadowed variable warning in dabusb.c 2008-04-24 14:07:46 -03:00
dabusb.h
dpc7146.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
font.h
hexium_gemini.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
hexium_orion.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
ibmmpeg2.h
indycam.c drivers/media/: Spelling fixes 2008-02-03 17:18:59 +02:00
indycam.h
ir-kbd-i2c.c V4L/DVB (7332): ir-kbd-i2c: Minor optimization in ir_probe 2008-04-24 14:07:49 -03:00
Kconfig V4L/DVB (7218): Fix breakage in mt9m001 and mt9v022 driver if "CONFIG_GENERIC_GPIO is not set" 2008-04-24 14:07:43 -03:00
ks0127.c i2c: Use the driver model reference counting 2008-01-27 18:14:48 +01:00
ks0127.h
m52790.c V4L/DVB (6862): ivtv: really remove i2c legacy support from drivers that no longer need it 2008-01-25 19:04:05 -02:00
Makefile V4L/DVB (7483): tuner-simple: fix broken build dependency 2008-04-24 14:07:57 -03:00
meye.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
meye.h
msp3400-driver.c V4L/DVB (6866): msp3400: CodingStyle cleanups 2008-01-25 19:04:06 -02:00
msp3400-driver.h
msp3400-kthreads.c V4L/DVB (7343): msp3400: fix SECAM D/K handling 2008-04-24 14:07:49 -03:00
mt9m001.c V4L/DVB (7406): soc-camera: improve separation between soc_camera_ops and soc_camera_device 2008-04-24 14:07:53 -03:00
mt9v022.c V4L/DVB (7406): soc-camera: improve separation between soc_camera_ops and soc_camera_device 2008-04-24 14:07:53 -03:00
mt20xx.c V4L/DVB (7135): remove PREFIX from users of tuner_foo printk macros 2008-04-24 13:42:26 -03:00
mt20xx.h
mxb.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
mxb.h
ov511.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
ov511.h
ov7670.c
planb.c
planb.h
pms.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
pxa_camera.c V4L/DVB (7336): soc-camera: streamline hardware parameter negotiation 2008-04-24 14:07:49 -03:00
saa711x.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa711x_regs.h
saa5246a.c
saa5246a.h
saa5249.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
saa6588.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7110.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7111.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7114.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7115.c V4L/DVB (7342): saa7115: fix PAL-Nc handling 2008-04-24 14:07:49 -03:00
saa7121.h
saa7127.c V4L/DVB (6867): saa7127: CodingStyle cleanups 2008-01-25 19:04:06 -02:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7191.c
saa7191.h
saa7196.h
se401.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
se401.h
soc_camera.c V4L/DVB (7406): soc-camera: improve separation between soc_camera_ops and soc_camera_device 2008-04-24 14:07:53 -03:00
stk-sensor.c V4L/DVB (7104): stk-sensor.c: make 2 functions static 2008-02-18 11:15:08 -03:00
stk-webcam.c V4L/DVB (7238): make stk_camera_{suspend,resume}() static 2008-04-24 14:07:44 -03:00
stk-webcam.h V4L/DVB (7104): stk-sensor.c: make 2 functions static 2008-02-18 11:15:08 -03:00
stradis.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
stv680.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
stv680.h
tcm825x.c V4L/DVB (7086): driver: tcm825x - fix logical typo error 2008-02-18 11:14:57 -03:00
tcm825x.h
tda7432.c V4L/DVB (6419): V4L2 port of tda7432 from V4L1 api 2008-01-25 19:01:00 -02:00
tda8290.c V4L/DVB (7393): tda827x: fixed support of tuners with LNA 2008-04-24 14:07:52 -03:00
tda8290.h V4L/DVB (7393): tda827x: fixed support of tuners with LNA 2008-04-24 14:07:52 -03:00
tda9840.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
tda9840.h
tda9875.c V4L/DVB (6420): V4L2 conversion for tda9875 from V4L1 API 2008-01-25 19:01:00 -02:00
tda9887.c V4L/DVB (7346): tda9887: allow multiple driver instances for the same hardware to share state 2008-04-24 14:07:49 -03:00
tda9887.h V4L/DVB (6842): tda9887: remove dependency on struct tuner 2008-01-25 19:03:55 -02:00
tea5761.c V4L/DVB (7135): remove PREFIX from users of tuner_foo printk macros 2008-04-24 13:42:26 -03:00
tea5761.h
tea5767.c V4L/DVB (7135): remove PREFIX from users of tuner_foo printk macros 2008-04-24 13:42:26 -03:00
tea5767.h V4L/DVB (6385): Adds the capability of configuring tea5767 support 2008-01-25 19:00:54 -02:00
tea6415c.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
tea6415c.h
tea6420.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
tea6420.h
tlv320aic23b.c V4L/DVB (6740): tlv320aic23b: codingstyle cleanups 2008-01-25 19:03:17 -02:00
tuner-3036.c
tuner-core.c V4L/DVB (7399): Removes video_dev from tuner-xc2028 config struct 2008-04-24 14:07:53 -03:00
tuner-i2c.h V4L/DVB (7379): tuner: prevent instance sharing if i2c adapter is NULL 2008-04-24 14:07:51 -03:00
tuner-simple.c V4L/DVB (7407): tuner-simple: add module options to specify rf input 2008-04-24 14:07:53 -03:00
tuner-simple.h V4L/DVB (7127): tuner: remove dependency of tuner-core on tuner-types 2008-04-24 13:42:24 -03:00
tuner-types.c V4L/DVB (7381): tuner: rename TUNER_PHILIPS_ATSC to TUNER_PHILIPS_FCV1236D 2008-04-24 14:07:52 -03:00
tuner-xc2028-types.h V4L/DVB (6676): Improve s-code support 2008-01-25 19:02:58 -02:00
tuner-xc2028.c V4L/DVB (7439): tuner-xc2028: Adds an option to allow forcing to load an specific firmware name 2008-04-24 14:07:55 -03:00
tuner-xc2028.h V4L/DVB (6893): tuner-xc2028: fix xc2028_attach function 2008-01-25 19:04:14 -02:00
tvaudio.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
tveeprom.c V4L/DVB (7240): tveeprom: remove obsolete i2c driver code 2008-04-24 14:07:44 -03:00
tvp5150.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
tvp5150_reg.h
upd64031a.c V4L/DVB (6864): upd64031a: CodingStyle cleanup 2008-01-25 19:04:05 -02:00
upd64083.c V4L/DVB (6863): upd64083: CodingStyle cleanups 2008-01-25 19:04:05 -02:00
v4l1-compat.c V4L/DVB (7365): reduce stack usage of v4l1_compat_sync 2008-04-24 14:07:50 -03:00
v4l2-common.c V4L/DVB (7133): Fix Kconfig dependencies 2008-02-18 11:14:53 -03:00
v4l2-int-device.c V4L/DVB (7485): v4l2-int-device.c: add MODULE_LICENSE 2008-04-01 19:35:47 -03:00
videobuf-core.c V4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty queue 2008-04-24 14:07:57 -03:00
videobuf-dma-sg.c V4L/DVB (7283): videobuf-dma-sg: Remove unused variable 2008-04-24 14:07:46 -03:00
videobuf-dvb.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
videobuf-vmalloc.c V4L/DVB (7489): videobuf-vmalloc.c: Remove buf_release from videobuf_vm_close 2008-04-24 14:07:57 -03:00
videocodec.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
videocodec.h
videodev.c V4L/DVB (7133): Fix Kconfig dependencies 2008-02-18 11:14:53 -03:00
vino.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
vino.h
vivi.c V4L/DVB (7492): vivi: Simplify the vivi driver and avoid deadlocks 2008-04-24 14:07:57 -03:00
vp27smpx.c V4L/DVB (6865): vp27smpx: CodingStyle cleanup 2008-01-25 19:04:06 -02:00
vpx3220.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
w9966.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
w9968cf.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
w9968cf.h
w9968cf_decoder.h
w9968cf_vpp.h
wm8739.c V4L/DVB (6862): ivtv: really remove i2c legacy support from drivers that no longer need it 2008-01-25 19:04:05 -02:00
wm8775.c V4L/DVB (6737): wm8775: codingstyle cleanup 2008-01-25 19:03:16 -02:00
zoran.h V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum 2008-02-18 12:18:28 -03:00
zoran_card.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
zoran_card.h V4L/DVB (7479): proper prototype for zoran_device.c:zr36016_write() 2008-04-24 14:07:57 -03:00
zoran_device.c V4L/DVB (7479): proper prototype for zoran_device.c:zr36016_write() 2008-04-24 14:07:57 -03:00
zoran_device.h
zoran_driver.c V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 2008-04-24 14:07:53 -03:00
zoran_procfs.c
zoran_procfs.h
zr364xx.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
zr36016.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
zr36016.h
zr36050.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
zr36050.h
zr36057.h
zr36060.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
zr36060.h