linux/drivers/media/video
Mike Isely c82732a428 V4L/DVB (9300): pvrusb2: Fix deadlock problem
Fix deadlock problem in 2.6.27 caused by new USB core behavior in
response to a USB device reset request.  With older kernels, the USB
device reset was "in line"; the reset simply took place and the driver
retained its association with the hardware.  However now this reset
triggers a disconnect, and worse still the disconnect callback happens
in the context of the caller who asked for the device reset.  This
results in an attempt by the pvrusb2 driver to recursively take a
mutex it already has, which deadlocks the driver's worker thread.
(Even if the disconnect callback were to happen on a different thread
we'd still have problems however - because while the driver should
survive and correctly disconnect / reconnect, it will then trigger
another device reset during the repeated initialization, which will
then cause another disconect, etc, forever.)  The fix here is simply
to not attempt the device reset (it was of marginal value anyway).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-21 14:20:51 -02:00
..
au0828 V4L/DVB (9252): au0828: Checkpatch compliance 2008-10-17 17:27:26 -03:00
bt8xx V4L/DVB (9160): v4l: remove vidioc_enum_fmt_vbi_cap 2008-10-13 09:07:55 -02:00
cpia2 V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings 2008-10-12 09:36:58 -02:00
cx18 V4L/DVB (9299): cx18: Don't mask many real init error codes by mapping them to ENOMEM 2008-10-21 14:20:47 -02:00
cx88 V4L/DVB (9296): Patch to remove warning message during cx88-dvb compilation 2008-10-17 17:41:30 -03:00
cx23885 V4L/DVB (9271): videobuf: data storage optimisation (2) 2008-10-17 17:29:59 -03:00
cx25840 V4L/DVB (9162): ivtv: fix raw/sliced VBI mixup 2008-10-13 09:08:01 -02:00
em28xx V4L/DVB (9155): em28xx-dvb: dvb_init() code factorization 2008-10-13 07:16:18 -02:00
et61x251 V4L/DVB (8788): v4l: replace video_get_drvdata(video_devdata(filp)) with video_drvdata(filp) 2008-10-12 09:36:54 -02:00
gspca V4L/DVB (9294): gspca: Add a stop sequence in t613. 2008-10-17 17:41:20 -03:00
ivtv byteorder: remove direct includes of linux/byteorder/swab[b].h 2008-10-20 08:52:40 -07:00
ovcamchip V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings 2008-10-12 09:36:58 -02:00
pvrusb2 V4L/DVB (9300): pvrusb2: Fix deadlock problem 2008-10-21 14:20:51 -02:00
pwc V4L/DVB: remove unused #include <version.h> 2008-10-12 09:37:01 -02:00
saa7134 V4L/DVB (9271): videobuf: data storage optimisation (2) 2008-10-17 17:29:59 -03:00
sn9c102 V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings 2008-10-12 09:36:58 -02:00
usbvideo USB: remove warn() macro from usb media drivers 2008-10-17 14:41:08 -07:00
usbvision remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
uvc V4L/DVB (9169): uvcvideo: Support two new Bison Electronics webcams. 2008-10-13 12:16:21 -02:00
zc0301 V4L/DVB (8788): v4l: replace video_get_drvdata(video_devdata(filp)) with video_drvdata(filp) 2008-10-12 09:36:54 -02:00
zoran V4L/DVB (9234): zoran: Drop redundant printk 2008-10-17 17:24:49 -03:00
adv7170.c V4L/DVB (9198): adv7170: convert i2c driver for new i2c API 2008-10-17 17:15:58 -03:00
adv7175.c V4L/DVB (9199): adv7175: convert i2c driver for new i2c API 2008-10-17 17:16:08 -03:00
arv.c V4L/DVB (8786): v4l2: remove the priv field, use dev_get_drvdata instead 2008-10-12 09:36:54 -02:00
bt819.c V4L/DVB (9200): bt819: convert i2c driver for new i2c API 2008-10-17 17:17:20 -03:00
bt856.c V4L/DVB (9201): bt856: convert i2c driver for new i2c API 2008-10-17 17:17:30 -03:00
bt866.c V4L/DVB (9202): bt866: convert i2c driver for new i2c API 2008-10-17 17:17:36 -03:00
btcx-risc.c V4L/DVB (8745): v4l2: fix a bunch of compile warnings. 2008-10-12 09:36:52 -02:00
btcx-risc.h V4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings 2008-09-03 18:37:13 -03:00
bw-qcam.c V4L/DVB (8783): v4l: add all missing video_device release callbacks 2008-10-12 09:36:54 -02:00
bw-qcam.h V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release 2008-10-12 09:36:53 -02:00
c-qcam.c V4L/DVB (8783): v4l: add all missing video_device release callbacks 2008-10-12 09:36:54 -02:00
cafe_ccic-regs.h
cafe_ccic.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2008-10-13 14:03:59 -07:00
compat_ioctl32.c V4L/DVB (8434): Fix x86_64 compilation and move some macros to v4l2-ioctl.h 2008-07-23 19:00:22 -03:00
cpia_pp.c
cpia_usb.c V4L/DVB (7518): media/video/ replace remaining __FUNCTION__ occurrences 2008-04-24 14:07:59 -03:00
cpia.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
cpia.h V4L/DVB (8430): videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.h 2008-07-23 19:00:17 -03:00
cs53l32a.c Remove newline from the description of module parameters 2008-08-01 12:46:41 -07:00
cs5345.c Remove newline from the description of module parameters 2008-08-01 12:46:41 -07:00
cs8420.h
cx2341x.c V4L/DVB (8634): v4l2: extend MPEG Encoding API with AVC and AAC 2008-10-12 09:36:47 -02:00
dabusb.c USB: remove warn() macro from usb media drivers 2008-10-17 14:41:08 -07:00
dabusb.h
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
indycam.h
ir-kbd-i2c.c V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote 2008-10-13 09:57:34 -02:00
Kconfig V4L/DVB (9129): zoran: move zoran sources into a zoran subdirectory 2008-10-12 09:39:04 -02:00
ks0127.c V4L/DVB (9203): ks0127: convert i2c driver for new i2c API 2008-10-17 17:17:40 -03:00
ks0127.h
m52790.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
Makefile V4L/DVB (9129): zoran: move zoran sources into a zoran subdirectory 2008-10-12 09:39:04 -02:00
meye.c V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release 2008-10-12 09:36:53 -02:00
meye.h V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release 2008-10-12 09:36:53 -02:00
msp3400-driver.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
msp3400-driver.h
msp3400-kthreads.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
mt9m001.c V4L/DVB (8687): soc-camera: Move .power and .reset from soc_camera host to sensor driver 2008-10-12 09:36:50 -02:00
mt9m111.c V4L/DVB (8800): [v4l-dvb-maintainer] [PATCH] v4l: mt9m111.c make function static 2008-10-12 09:36:55 -02:00
mt9v022.c V4L/DVB (8687): soc-camera: Move .power and .reset from soc_camera host to sensor driver 2008-10-12 09:36:50 -02:00
mxb.c V4L/DVB (8945): mxb: use unique i2c adapter name 2008-10-12 09:37:00 -02:00
mxb.h
ov511.c USB: remove warn() macro from usb media drivers 2008-10-17 14:41:08 -07:00
ov511.h V4L/DVB (9116): USB: remove info() macro from usb media drivers 2008-10-12 09:37:14 -02:00
ov7670.c V4L/DVB (8381): ov7670: fix compile warnings 2008-07-20 07:28:27 -03:00
pms.c V4L/DVB (8783): v4l: add all missing video_device release callbacks 2008-10-12 09:36:54 -02:00
pxa_camera.c V4L/DVB: pxa-camera: Unsigned dma_chans[] cannot be negative 2008-10-12 09:37:02 -02:00
s2255drv.c V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings 2008-10-12 09:36:58 -02:00
saa711x_regs.h
saa717x.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
saa5246a.c V4L/DVB (8943): saa5246a: convert i2c driver for new i2c API 2008-10-12 09:37:00 -02:00
saa5249.c V4L/DVB (9159): saa5249: fix compile errors 2008-10-13 09:07:50 -02:00
saa6588.c v4l-dvb: remove legacy checks to allow support for kernels < 2.6.10 2008-07-20 07:17:52 -03:00
saa7110.c V4L/DVB (9204): saa7110: convert i2c driver for new i2c API 2008-10-17 17:17:47 -03:00
saa7111.c V4L/DVB (9205): saa7111: convert i2c driver for new i2c API 2008-10-17 17:17:52 -03:00
saa7114.c V4L/DVB (9206): saa7114: convert i2c driver for new i2c API 2008-10-17 17:19:41 -03:00
saa7115.c V4L/DVB (9162): ivtv: fix raw/sliced VBI mixup 2008-10-13 09:08:01 -02:00
saa7121.h
saa7127.c V4L/DVB (9240): saa7127: Fix two typos 2008-10-17 17:25:11 -03:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB (9207): saa7185: convert i2c driver for new i2c API 2008-10-17 17:20:01 -03:00
saa7191.c
saa7191.h
se401.c V4L/DVB (9116): USB: remove info() macro from usb media drivers 2008-10-12 09:37:14 -02:00
se401.h V4L/DVB (8430): videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.h 2008-07-23 19:00:17 -03:00
sh_mobile_ceu_camera.c V4L/DVB (9244): video: improve sh_mobile_ceu buffer handling 2008-10-17 17:26:10 -03:00
soc_camera_platform.c V4L/DVB (9241): soc-camera: move sensor power management to soc_camera_platform.c 2008-10-17 17:25:29 -03:00
soc_camera.c V4L/DVB (8610): Add suspend/resume capabilities to soc_camera. 2008-08-06 06:57:32 -03:00
stk-sensor.c
stk-webcam.c V4L/DVB (9194): stk-webcam: fix crash on close after disconnect 2008-10-17 17:15:06 -03:00
stk-webcam.h V4L/DVB (9193): stk-webcam: minor cleanup 2008-10-17 17:14:57 -03:00
stradis.c V4L/DVB (8783): v4l: add all missing video_device release callbacks 2008-10-12 09:36:54 -02:00
stv680.c V4L/DVB (9116): USB: remove info() macro from usb media drivers 2008-10-12 09:37:14 -02:00
stv680.h
tcm825x.c V4L/DVB (7897): TCM825x: Include invertation of image mirroring in configuration 2008-07-20 07:06:01 -03:00
tcm825x.h V4L/DVB (7897): TCM825x: Include invertation of image mirroring in configuration 2008-07-20 07:06:01 -03:00
tda7432.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
tda9840.c V4L/DVB (9033): drivers/media/video/tda9840.c: unbreak 2008-10-12 09:37:08 -02:00
tda9840.h V4L/DVB (8941): mxb/tda9840: cleanups, use module saa7115 instead of saa7111. 2008-10-12 09:37:00 -02:00
tda9875.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
tea6415c.c V4L/DVB (8630): First mxb cleanup phase 2008-10-12 09:36:47 -02:00
tea6415c.h
tea6420.c V4L/DVB (8630): First mxb cleanup phase 2008-10-12 09:36:47 -02:00
tea6420.h
tlv320aic23b.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
tuner-core.c V4L/DVB (9049): convert tuner drivers to use dvb_frontend->callback 2008-10-12 09:37:09 -02:00
tvaudio.c security: avoid calling a NULL function pointer in drivers/video/tvaudio.c 2008-10-11 09:54:07 -07:00
tveeprom.c V4L/DVB (9268): tuner: add FMD1216MEX tuner 2008-10-17 17:29:09 -03:00
tvp5150_reg.h
tvp5150.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
upd64031a.c i2c: Convert remaining new-style drivers to use module aliasing 2008-05-18 20:49:40 +02:00
upd64083.c i2c: Convert remaining new-style drivers to use module aliasing 2008-05-18 20:49:40 +02:00
v4l1-compat.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
v4l2-common.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
v4l2-dev.c V4L/DVB (9133): v4l: disconnect kernel number from minor 2008-10-12 09:37:16 -02:00
v4l2-int-device.c V4L/DVB (7485): v4l2-int-device.c: add MODULE_LICENSE 2008-04-01 19:35:47 -03:00
v4l2-ioctl.c V4L/DVB (9160): v4l: remove vidioc_enum_fmt_vbi_cap 2008-10-13 09:07:55 -02:00
videobuf-core.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
videobuf-dma-contig.c V4L/DVB (8425): v4l: fix checkpatch errors introduced by recent commits 2008-07-23 08:09:21 -03:00
videobuf-dma-sg.c V4L/DVB (8340): videobuf: Fix gather spelling 2008-07-20 07:25:32 -03:00
videobuf-dvb.c V4L/DVB (9276): videobuf-dvb: two functions are now static 2008-10-17 17:39:14 -03:00
videobuf-vmalloc.c V4L/DVB (8525): fix a few assorted spelling mistakes. 2008-07-27 11:07:13 -03:00
vino.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
vino.h
vivi.c V4L/DVB (9239): Add support for rgb555 pixel formats to vivi 2008-10-17 17:25:08 -03:00
vp27smpx.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
vpx3220.c V4L/DVB (9208): vpx3220: convert i2c driver for new i2c API 2008-10-17 17:20:13 -03:00
w9966.c V4L/DVB (8788): v4l: replace video_get_drvdata(video_devdata(filp)) with video_drvdata(filp) 2008-10-12 09:36:54 -02:00
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
w9968cf.h V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
wm8739.c V4L/DVB (8789): wm8739: remove wrong kfree 2008-09-10 23:18:32 -03:00
wm8775.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
zr364xx.c V4L/DVB (9116): USB: remove info() macro from usb media drivers 2008-10-12 09:37:14 -02:00