[pvrusb2] Did pvrusb2 cause a kernel oops?

Mike Isely isely at isely.net
Tue Jun 2 19:33:40 CDT 2009


Looks like a crash happened while the driver tied to tear down its sysfs 
interface.  There isn't much else I can glean from this except to say 
that the pvrusb2 driver and pretty much any form of Linux suspend have 
never played well together.  Realize that the pvrusb2 hardware is 
self-powered - it's going to stay on even if the PC turns off.  This 
behavior is kind of out of scope for what one might expect when trying 
to suspend a PC.  I would assume that in this case the suspend process 
should try to force a hot-unplug of the USB connected devices first, but 
I don't really know and in any case it's outside the control of the 
pvrusb2 driver.  Admittedly the driver should never oops under any 
circumstance, however I don't really follow what this circumstance is - 
i.e. exactly what context is being used to force out the driver here.

  -Mike

On Tue, 2 Jun 2009, Roger wrote:

> >From looks from my entire log since booting, video1 (hvr-1950) wasn't
> loaded (as noted on irc).  video0 is the older pvrusb2 2900 device.
> 
> Command executed is "sudo hibernate" using gentoo-sources (without
> TuxOnIce patches).
> 
> Jun  2 06:32:56 localhost2 device: '1-0018': device_unregister
> Jun  2 06:32:56 localhost2 PM: Removing info for i2c:1-0018
> Jun  2 06:32:56 localhost2 bus: 'i2c': remove device 1-0018
> Jun  2 06:32:56 localhost2 bus: 'i2c': remove driver i2c ir driver
> Jun  2 06:32:56 localhost2 driver: 'i2c ir driver': driver_release
> Jun  2 06:32:56 localhost2 usbcore: deregistering interface driver
> pvrusb2
> Jun  2 06:32:56 localhost2 bus: 'usb': remove driver pvrusb2
> Jun  2 06:32:56 localhost2 driver: 'pvrusb2': driver_release
> Jun  2 06:32:56 localhost2 device class 'pvrusb2': unregistering
> Jun  2 06:32:56 localhost2 class 'pvrusb2': release.
> Jun  2 06:32:56 localhost2 device: 'video0': device_unregister
> Jun  2 06:32:56 localhost2 PM: Removing info for No Bus:video0
> Jun  2 06:32:56 localhost2 pvrusb2: unregistered device video0 [mpeg]
> Jun  2 06:32:56 localhost2 device: 'radio0': device_unregister
> Jun  2 06:32:56 localhost2 PM: Removing info for No Bus:radio0
> Jun  2 06:32:56 localhost2 pvrusb2: unregistered device radio0 [mpeg]
> Jun  2 06:32:56 localhost2 device: 'sn-7435104': device_unregister
> Jun  2 06:32:56 localhost2 PM: Removing info for No Bus:sn-7435104
> Jun  2 06:32:56 localhost2 BUG: unable to handle kernel NULL pointer
> dereference at 00000024
> Jun  2 06:32:56 localhost2 IP: [<c01c5089>] sysfs_remove_link+0x9/0x20
> Jun  2 06:32:56 localhost2 *pde = 00000000 
> Jun  2 06:32:56 localhost2 Oops: 0000 [#1] PREEMPT SMP 
> Jun  2 06:32:56 localhost2 last sysfs
> file: /sys/devices/pci0000:00/0000:00:11.0/host3/target3:0:0/3:0:0:0/type
> Jun  2 06:32:56 localhost2 
> Jun  2 06:32:56 localhost2 Pid: 1319, comm: pvrusb2-context Tainted: P
> (2.6.29-gentoo-r4Y #9) To be Filled
> Jun  2 06:32:56 localhost2 EIP: 0060:[<c01c5089>] EFLAGS: 00010206 CPU:
> 1
> Jun  2 06:32:56 localhost2 EIP is at sysfs_remove_link+0x9/0x20
> Jun  2 06:32:56 localhost2 EAX: 0000000c EBX: f652f400 ECX: c061de80
> EDX: f652f46c
> Jun  2 06:32:56 localhost2 ESI: f652f448 EDI: f65263e0 EBP: f692745c
> ESP: f6bfff60
> Jun  2 06:32:56 localhost2 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
> Jun  2 06:32:56 localhost2 Process pvrusb2-context (pid: 1319,
> ti=f6bfe000 task=f6a76030 task.ti=f6bfe000)
> Jun  2 06:32:56 localhost2 Stack:
> Jun  2 06:32:56 localhost2 c0371030 f6522fa0 f652f400 c0371583 f652f400
> 00000001 f65263e0 00000000
> Jun  2 06:32:56 localhost2 c0371699 c05bac51 f652f46c c051abfb 00000001
> f821ea64 00000000 00000286
> Jun  2 06:32:56 localhost2 00000000 f6957160 f821b550 f821b5f6 f6a97ed4
> 00000286 00000000 f6a76030
> Jun  2 06:32:56 localhost2 Call Trace:
> Jun  2 06:32:56 localhost2 [<c0371030>] device_remove_class_symlinks
> +0x40/0x70
> Jun  2 06:32:56 localhost2 [<c0371583>] device_del+0x63/0x150
> Jun  2 06:32:56 localhost2 [<c0371699>] device_unregister+0x29/0x40
> Jun  2 06:32:56 localhost2 [<f821ea64>] pvr2_sysfs_internal_check
> +0xe4/0x250 [pvrusb2]
> Jun  2 06:32:56 localhost2 [<f821b550>] pvr2_context_thread_func
> +0x0/0x2d0 [pvrusb2]
> Jun  2 06:32:56 localhost2 [<f821b5f6>] pvr2_context_thread_func
> +0xa6/0x2d0 [pvrusb2]
> Jun  2 06:32:56 localhost2 [<c013d7f0>] autoremove_wake_function
> +0x0/0x50
> Jun  2 06:32:56 localhost2 [<c013d4d2>] kthread+0x42/0x70
> Jun  2 06:32:56 localhost2 [<c013d490>] kthread+0x0/0x70
> Jun  2 06:32:56 localhost2 [<c0103a5b>] kernel_thread_helper+0x7/0x1c
> Jun  2 06:32:56 localhost2 Code: ff 89 44 24 08 e9 79 fe ff ff b8 24 de
> 61 c0 e8 3e ac 31 00 8b 4c 24 04 89 4c 24 08 e9 62 fe ff ff 90 85 c0 b9
> 80 de 61 c0 74 03 <8b> 48 18 89 c8 e9 fd de ff ff 8d b6 00 00 00 00 8d
> bc 27 00 00 
> Jun  2 06:32:56 localhost2 EIP: [<c01c5089>] sysfs_remove_link+0x9/0x20
> SS:ESP 0068:f6bfff60
> 
> 
> 

-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8


More information about the pvrusb2 mailing list