kernel-ark/drivers/media/video/pvrusb2
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
..
Kconfig V4L/DVB (8534): remove select's of FW_LOADER 2008-07-27 12:24:37 -03:00
Makefile V4L/DVB(7767): Move tuners to common/tuners 2008-04-29 18:41:37 -03:00
pvrusb2-audio.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-audio.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-context.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-context.h V4L/DVB (8475): pvrusb2: Cosmetic macro fix (benign) 2008-07-26 12:54:37 -03:00
pvrusb2-ctrl.c V4L/DVB (8902): pvrusb2: Remove comment lines which refer to checkpatch's behavior 2008-10-12 09:36:58 -02:00
pvrusb2-ctrl.h V4L/DVB (8898): pvrusb2: Be able to programmatically retrieve a control's default value 2008-10-12 09:36:57 -02:00
pvrusb2-cx2584x-v4l.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-cx2584x-v4l.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-debug.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-debugifc.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-debugifc.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-devattr.c V4L/DVB (8892): pvrusb2: Handle USB ID 2040:2950 same as 2040:2900 2008-09-29 08:27:25 -03:00
pvrusb2-devattr.h V4L/DVB (8474): pvrusb2: Enable IR chip on HVR-1900 class devices 2008-07-26 12:54:35 -03:00
pvrusb2-dvb.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
pvrusb2-dvb.h
pvrusb2-eeprom.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-eeprom.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-encoder.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-encoder.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-fx2-cmd.h V4L/DVB (8474): pvrusb2: Enable IR chip on HVR-1900 class devices 2008-07-26 12:54:35 -03:00
pvrusb2-hdw-internal.h V4L/DVB (8900): pvrusb2: Implement cropping pass through 2008-10-12 09:36:57 -02:00
pvrusb2-hdw.c V4L/DVB (9300): pvrusb2: Fix deadlock problem 2008-10-21 14:20:51 -02:00
pvrusb2-hdw.h V4L/DVB (8900): pvrusb2: Implement cropping pass through 2008-10-12 09:36:57 -02:00
pvrusb2-i2c-chips-v4l2.c V4L/DVB (8896): pvrusb2: Implement crop support 2008-10-12 09:36:57 -02:00
pvrusb2-i2c-cmd-v4l2.c V4L/DVB (8902): pvrusb2: Remove comment lines which refer to checkpatch's behavior 2008-10-12 09:36:58 -02:00
pvrusb2-i2c-cmd-v4l2.h V4L/DVB (8896): pvrusb2: Implement crop support 2008-10-12 09:36:57 -02:00
pvrusb2-i2c-core.c V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings 2008-10-12 09:36:58 -02:00
pvrusb2-i2c-core.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-io.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-io.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-ioread.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
pvrusb2-ioread.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-main.c V4L/DVB (9116): USB: remove info() macro from usb media drivers 2008-10-12 09:37:14 -02:00
pvrusb2-std.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-std.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-sysfs.c V4L/DVB (8902): pvrusb2: Remove comment lines which refer to checkpatch's behavior 2008-10-12 09:36:58 -02:00
pvrusb2-sysfs.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-tuner.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-tuner.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-util.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-v4l2.c V4L/DVB (8900): pvrusb2: Implement cropping pass through 2008-10-12 09:36:57 -02:00
pvrusb2-v4l2.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-video-v4l.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-video-v4l.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-wm8775.c V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2-wm8775.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00
pvrusb2.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00