1
linux/drivers/media/video
Devin Heitmueller 06f837cadb V4L/DVB (11784): cx88: Fix race condition between cx8800 startup and hald
A power management fix to properly put the xc5000 into low power mode
revealed a race condition where hald could detect the creation of the device
file and connect to the device while the initial device configuration is
still in progress.

Lock the core structure so that video_release cannot be called and put the
tuner to sleep in the middle of the initial call to cx88_set_tvnorm() in
cx8800_initdev()

Thanks to Michael Krufky for discovering the issue and providing an
environment to test in.

Cc: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 19:14:13 -03:00
..
au0828 V4L/DVB (11928): au0828: provide module option to disable USB speed check 2009-06-16 19:07:22 -03:00
bt8xx V4L/DVB (11895): bt8xx: remove always false if 2009-06-16 18:21:16 -03:00
cpia2 V4L/DVB: cleanup redundant tests on unsigned 2009-06-16 18:20:58 -03:00
cx18 V4L/DVB (11951): cx18: Add DVB-T support for the Leadtek WinFast DVR3100 H 2009-06-16 19:07:33 -03:00
cx88 V4L/DVB (11784): cx88: Fix race condition between cx8800 startup and hald 2009-06-16 19:14:13 -03:00
cx231xx V4L/DVB (11845): ir-kbd-i2c: Use initialization data 2009-06-16 18:21:11 -03:00
cx23885 V4L/DVB (11880): cx23885: support for card Mygica X8506 DMB-TH 2009-06-16 18:21:15 -03:00
cx25840 V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
em28xx V4L/DVB (11979): em28xx: don't create audio device if not supported 2009-06-16 19:07:46 -03:00
et61x251
gspca V4L/DVB (11997): gspca - stv06xx: remove needless if check and goto 2009-06-16 19:07:54 -03:00
hdpvr trivial: typo (en|dis|avail|remove)bale -> (en|dis|avail|remove)able 2009-06-12 18:01:45 +02:00
ivtv V4L/DVB (11932): ivtv: Add missing newline 2009-06-16 19:07:24 -03:00
ovcamchip V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
pvrusb2 V4L/DVB (11856): pvrusb2: Ensure we specify I/F's for all bandwidths 2009-06-16 18:21:13 -03:00
pwc V4L/DVB (11993): V4L/pwc - use usb_interface as parent, not usb_device 2009-06-16 19:07:52 -03:00
saa7134 V4L/DVB (11996): saa7134: add support for AVerMedia M103 (f736) 2009-06-16 19:07:53 -03:00
sn9c102 V4L/DVB (11221): gspca - sonixj: Prefer sonixj instead of sn9c102 for 0471:0327. 2009-03-30 12:43:41 -03:00
usbvideo V4L/DVB (11960): v4l: generate KEY_CAMERA instead of BTN_0 key events on input devices 2009-06-16 19:07:38 -03:00
usbvision V4L/DVB (11992): Add missing __devexit_p() 2009-06-16 19:07:51 -03:00
uvc V4L/DVB (12002): uvc: Fix for no return value check of uvc_ctrl_set() which calls mutex_lock_interruptible() 2009-06-16 19:07:57 -03:00
zc0301
zoran V4L/DVB (11992): Add missing __devexit_p() 2009-06-16 19:07:51 -03:00
adv7170.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
adv7175.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
adv7343_regs.h V4L/DVB (11743): Analog Devices ADV7343 video encoder driver 2009-06-16 18:20:59 -03:00
adv7343.c V4L/DVB (11743): Analog Devices ADV7343 video encoder driver 2009-06-16 18:20:59 -03:00
arv.c
bt819.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
bt856.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
bt866.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
btcx-risc.c
btcx-risc.h
bw-qcam.c
bw-qcam.h
c-qcam.c
cafe_ccic-regs.h
cafe_ccic.c V4L/DVB (11680): cafe_ccic: use = instead of == for setting a value at a var 2009-05-09 18:54:32 -03:00
cpia_pp.c
cpia_usb.c
cpia.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
cpia.h
cs53l32a.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
cs5345.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
cs8420.h
cx2341x.c
dabusb.c V4L/DVB (11256): dabusb: fix compile warning. 2009-03-30 12:43:44 -03:00
dabusb.h
font.h
hexium_gemini.c V4L/DVB: cleanup redundant tests on unsigned 2009-06-16 18:20:58 -03:00
hexium_orion.c V4L/DVB: cleanup redundant tests on unsigned 2009-06-16 18:20:58 -03:00
ibmmpeg2.h
indycam.c
indycam.h
ir-kbd-i2c.c V4L/DVB (11846): ir-kbd-i2c: Don't assume all IR receivers are supported 2009-06-16 18:21:11 -03:00
Kconfig V4L/DVB (11756): soc_camera: depends on I2C 2009-06-16 18:21:01 -03:00
ks0127.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
ks0127.h
m52790.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
Makefile V4L/DVB (11967): v4l: i2c modules must be linked before the v4l2 drivers 2009-06-16 19:07:41 -03:00
meye.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
meye.h
msp3400-driver.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
msp3400-driver.h V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
msp3400-kthreads.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
mt9m001.c V4L/DVB (11610): soc-camera: simplify register access routines in multiple sensor drivers 2009-06-16 18:20:43 -03:00
mt9m111.c V4L/DVB (11610): soc-camera: simplify register access routines in multiple sensor drivers 2009-06-16 18:20:43 -03:00
mt9t031.c V4L/DVB (11610): soc-camera: simplify register access routines in multiple sensor drivers 2009-06-16 18:20:43 -03:00
mt9v022.c V4L/DVB (11610): soc-camera: simplify register access routines in multiple sensor drivers 2009-06-16 18:20:43 -03:00
mx1_camera.c V4L/DVB (11609): soc-camera: remove an extra device generation from struct soc_camera_host 2009-06-16 18:20:43 -03:00
mx3_camera.c V4L/DVB (11992): Add missing __devexit_p() 2009-06-16 19:07:51 -03:00
mxb.c V4L/DVB: cleanup redundant tests on unsigned 2009-06-16 18:20:58 -03:00
mxb.h
omap24xxcam-dma.c
omap24xxcam.c V4L/DVB (11264): omap24xxcam: Remove buffer type check from vidioc_s/g_parm 2009-03-30 12:43:45 -03:00
omap24xxcam.h
ov511.c V4L/DVB (11966): ov511: Fix unit_video parameter behavior 2009-06-16 19:07:40 -03:00
ov511.h V4L/DVB (11966): ov511: Fix unit_video parameter behavior 2009-06-16 19:07:40 -03:00
ov772x.c V4L/DVB (11327): ov772x: add edge contrl support 2009-04-06 21:43:49 -03:00
ov7670.c
pms.c
pxa_camera.c V4L/DVB (11992): Add missing __devexit_p() 2009-06-16 19:07:51 -03:00
s2255drv.c V4L/DVB (11738): patch: s2255drv: urb completion routine fixes 2009-06-16 19:14:12 -03:00
saa711x_regs.h
saa717x.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa5246a.c V4L/DVB (11516): drivers/media/video/saa5246a.c: fix use-after-free 2009-04-29 15:41:12 -03:00
saa5249.c V4L/DVB (11515): drivers/media/video/saa5249.c: fix use-after-free and leak 2009-04-29 15:41:11 -03:00
saa6588.c V4L/DVB (11283): saa6588: remove legacy code. 2009-03-30 12:43:47 -03:00
saa7110.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7115.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7121.h
saa7127.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7191.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7191.h
se401.c V4L/DVB (11998): se401: Fix coding style 2009-06-16 19:07:54 -03:00
se401.h V4L/DVB (11998): se401: Fix coding style 2009-06-16 19:07:54 -03:00
sh_mobile_ceu_camera.c V4L/DVB (11609): soc-camera: remove an extra device generation from struct soc_camera_host 2009-06-16 18:20:43 -03:00
soc_camera_platform.c
soc_camera.c V4L/DVB (11992): Add missing __devexit_p() 2009-06-16 19:07:51 -03:00
stk-sensor.c
stk-webcam.c V4L/DVB: cleanup redundant tests on unsigned 2009-06-16 18:20:58 -03:00
stk-webcam.h
stradis.c
stv680.c
stv680.h
tcm825x.c
tcm825x.h
tda7432.c V4L/DVB (11564): tda7432: Delete old driver history 2009-06-16 18:20:36 -03:00
tda9840.c V4L/DVB (11372): v4l2: use old-style i2c API for kernels < 2.6.26 instead of < 2.6.22 2009-04-06 21:44:23 -03:00
tda9875.c V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API 2009-03-30 12:43:48 -03:00
tea6415c.c V4L/DVB (11737): Drop stray references to i2c_probe 2009-06-16 18:20:58 -03:00
tea6415c.h
tea6420.c V4L/DVB (11737): Drop stray references to i2c_probe 2009-06-16 18:20:58 -03:00
tea6420.h
ths7303.c V4L/DVB (11742): TI THS7303 video amplifier driver code 2009-06-16 18:20:59 -03:00
tlv320aic23b.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
tuner-core.c V4L/DVB (11926): tuner-core: fix warning introduced when cleaning up xc5000 init routine 2009-06-16 19:07:21 -03:00
tvaudio.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
tveeprom.c V4L/DVB (11933): tuner-simple, tveeprom: Add Philips FQ1216LME MK3 analog tuner 2009-06-16 19:07:25 -03:00
tvp514x_regs.h
tvp514x.c V4L/DVB (11961): tvp514x: try_count off by one 2009-06-16 19:07:39 -03:00
tvp5150_reg.h
tvp5150.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
tw9910.c
upd64031a.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
upd64083.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
v4l1-compat.c V4L/DVB (11329): Fix buglets in v4l1 compatibility layer 2009-04-06 21:43:50 -03:00
v4l2-common.c V4L/DVB (11673): v4l2-device: unregister i2c_clients when unregistering the v4l2_device. 2009-06-16 18:20:51 -03:00
v4l2-compat-ioctl32.c
v4l2-dev.c V4L/DVB (11390): 2-dev.c: return 0 for NULL open and release callbacks 2009-04-06 21:44:30 -03:00
v4l2-device.c V4L/DVB (11936): Fix v4l2-device usage of i2c_unregister_device() 2009-06-16 19:07:26 -03:00
v4l2-int-device.c
v4l2-ioctl.c V4L/DVB (11662): v4l2-ioctl: Clear buffer type specific trailing fields/padding 2009-05-09 18:51:48 -03:00
videobuf-core.c V4L/DVB (11991): buf-core.c: add pointer check 2009-06-16 19:07:51 -03:00
videobuf-dma-contig.c V4L/DVB (11731): buf-dma-contig: remove sync operation 2009-06-16 18:20:57 -03:00
videobuf-dma-sg.c V4L/DVB (11953): videobuf-dma-sg: return -ENOMEM if vmalloc fails 2009-06-16 19:07:34 -03:00
videobuf-dvb.c
videobuf-vmalloc.c
vino.c V4L/DVB (11937): vino: replace dma_sync_single with dma_sync_single_for_cpu 2009-06-16 19:07:26 -03:00
vino.h
vivi.c
vp27smpx.c V4L/DVB (11370): v4l2-subdev: move s_std from tuner to core. 2009-04-06 21:44:22 -03:00
vpx3220.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
w9966.c
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c V4L/DVB (11373): v4l2-common: add explicit v4l2_device pointer as first arg to new_(probed)_subdev 2009-04-06 21:44:24 -03:00
w9968cf.h V4L/DVB (11377): v4l: increase version numbers of drivers converted to v4l2_subdev. 2009-04-06 21:44:26 -03:00
wm8739.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
wm8775.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
zr364xx.c V4L/DVB (11995): zr364xx.c: vfree does its own NULL check 2009-06-16 19:07:53 -03:00