linux/drivers/media/video/pvrusb2
Mike Isely e3a5ee73e7 V4L/DVB: pvrusb2: Fix kernel oops on device tear-down
pvrusb2: Delete sysfs class device as the _very_ last step, after
we're sure that all driver contexts have gone away first.  This is
important because it appears that there isn't any protection from a
struct device instance reference a deleted struct class instance.  The
assumption in the kernel code appears to be that the class instance is
assumed to be around for the life of the device.  So we can't let the
class instance go away until all referencing device instances are
gone; this is ensured by delaying removal of the class instance until
after the driver contexts have all gone away.  This bug has been
present for a very long time but it didn't apparently become malignant
until recently (probably because of other changes in the kernel).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-06-01 01:19:58 -03:00
..
Kconfig V4L/DVB (11127): Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISE 2009-03-30 12:43:31 -03:00
Makefile V4L/DVB (11207): pvrusb2: Add composite and s-video input support for OnAir devices 2009-03-30 12:43:40 -03:00
pvrusb2-audio.c V4L/DVB (12426): pvrusb2: fix compile warning 2009-09-12 12:18:49 -03:00
pvrusb2-audio.h V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now 2009-03-30 12:43:39 -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-cs53l32a.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-cs53l32a.h V4L/DVB (11207): pvrusb2: Add composite and s-video input support for OnAir devices 2009-03-30 12:43:40 -03:00
pvrusb2-ctrl.c V4L/DVB (11332): pvrusb2: Fix incorrect reporting of default value for non-integer controls 2009-04-06 21:43:51 -03: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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-cx2584x-v4l.h V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now 2009-03-30 12:43:39 -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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-debugifc.h V4L/DVB (11173): pvrusb2: Fix backwards function header comments 2009-03-30 12:43:35 -03:00
pvrusb2-devattr.c V4L/DVB: pvrusb2: Fix Gotview hardware support 2010-06-01 01:19:45 -03:00
pvrusb2-devattr.h V4L/DVB: pvrusb2: New feature to mark specific hardware support as experimental 2010-06-01 01:19:49 -03:00
pvrusb2-dvb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-dvb.h
pvrusb2-eeprom.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09: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 (13223): pvrusb2: Soften encoder warning message 2009-12-05 18:40:58 -02: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: pvrusb2: Enforce a 300msec stabilization interval during stream strart 2010-02-26 15:11:05 -03:00
pvrusb2-hdw.c V4L/DVB: pvrusb2: New feature to mark specific hardware support as experimental 2010-06-01 01:19:49 -03:00
pvrusb2-hdw.h V4L/DVB: pvrusb2: Enforce a 300msec stabilization interval during stream strart 2010-02-26 15:11:05 -03:00
pvrusb2-i2c-core.c V4L/DVB (13498): pvrusb2: Bind I2C address 0x71 for Zilog IR devices 2009-12-05 18:42:10 -02:00
pvrusb2-i2c-core.h V4L/DVB (11154): pvrusb2: Split i2c module handling from i2c adapter 2009-03-30 12:43:32 -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: pvrusb2: Fix kernel oops on device tear-down 2010-06-01 01:19:58 -03: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: pvrusb2: Fix minor internal array allocation 2010-06-01 01:19:56 -03:00
pvrusb2-sysfs.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: pvrusb2: Fix kernel oops at device unregistration 2010-06-01 01:19:52 -03: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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-video-v4l.h V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now 2009-03-30 12:43:39 -03:00
pvrusb2-wm8775.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-wm8775.h V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now 2009-03-30 12:43:39 -03:00
pvrusb2.h V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources 2008-07-20 07:06:52 -03:00