[linux-dvb] kernel reboot needed after unplugging dvb-t usb in use.

Alan Chandler alan at chandlerfamily.org.uk
Sat Sep 9 09:22:21 CEST 2006


For the past week I have been struggling with using two freecom dvb-t usb 
sticks.  I finally was able to put then on a usb 2.0 powered hub which makes 
them reasonably stable.

I have been seeing occassional places where, whilst running tzap, the kernel 
had spewed out some numbers and locked up my ssh session (these tuners are 
running on a headless server in preparation for setting up mythtv-backend).

Now that everything is more stable, I have been able to experience this 
problem in more controlled conditions and it appears to be related to some 
form of race condition where the /dev/dvb/adapterN disappears whilst it is 
being used.  At least the action that caused the problem was unplugging the 
usb connector on the tuner whilst tzap was using it.  This caused the crash 
below.

After that occurred, not only did my ssh sessions lock up, but the device 
files disappeared, and no amount of unplugging/replugging of the tuners would 
cause them to re-appear.  Reboot was necessary.

Anyway here is a dump of the crash

usb 4-6: reset high speed USB device using ehci_hcd and address 64
Unable to handle kernel paging request at virtual address 32303a30
 printing eip:
32303a30
*pde = 00000000
Oops: 0000 [#8]
Modules linked in: ppdev lp ipv6 ipt_TOS ipt_MASQUERADE xt_state ipt_LOG 
xt_tcpudp iptable_mangle iptable_nat ip_nat ip_conntrack nfnetlink 
iptable_filter ip_tables x_tables reiserfs ext2 mbcache ide_cd cdrom 
intel_agp psmouse shpchp pci_hotplug floppy agpgart parport_pc parport pcspkr 
serio_raw evdev rtc dvb_usb_dtt200u dvb_usb dvb_core firmware_class dvb_pll 
i2c_core jfs dm_mirror dm_snapshot dm_mod raid5 xor raid1 raid0 md_mod 
ide_generic usbhid ide_disk ehci_hcd ohci_hcd piix generic ide_core usbcore 
3c59x mii thermal processor fan
CPU:    0
EIP:    0060:[<32303a30>]    Not tainted VLI
EFLAGS: 00010246   (2.6.16-2-686 #1)
EIP is at 0x32303a30
eax: 00000000   ebx: 00000004   ecx: 00000000   edx: afd4fee0
esi: 80046f45   edi: 00000003   ebp: c2679eb0   esp: c2679e94
ds: 007b   es: 007b   ss: 0068
Process tzap (pid: 11998, threadinfo=c2678000 task=b2ca6030)
Stack: <0>d8c20158 d7039a44 ceb92200 80046f45 c2679eb0 00000002 00000000 
0000001f
       d5d41040 b48d8550 b5cf9fb4 b025e9ab c2679f08 b02a44bc b0126035 c2679f58
       00000000 bb0b7d16 0000deb7 b2ca6158 b48d8550 a4588200 003de76f 00000246
Call Trace:
 [<d8c20158>] dvb_usercopy+0xb0/0x10b [dvb_core]
 [<b025e9ab>] schedule+0x454/0x4c1
 [<b0126035>] enqueue_hrtimer+0x58/0x86
 [<b012624f>] hrtimer_cancel+0xb/0x12
 [<b025f0ae>] schedule_hrtimer+0x2e/0x6c
 [<d8c201df>] dvb_generic_ioctl+0x2c/0x30 [dvb_core]
 [<b0154889>] do_ioctl+0x3d/0x4e
 [<b0154a8a>] vfs_ioctl+0x1f0/0x202
 [<b0154ae2>] sys_ioctl+0x46/0x60
 [<b0102915>] syscall_call+0x7/0xb
Code:  Bad EIP value.
 <1>Unable to handle kernel paging request at virtual address 2e36320e
 printing eip:
d8c24e45
*pde = 00000000
Oops: 0000 [#9]
Modules linked in: ppdev lp ipv6 ipt_TOS ipt_MASQUERADE xt_state ipt_LOG 
xt_tcpudp iptable_mangle iptable_nat ip_nat ip_conntrack nfnetlink 
iptable_filter ip_tables x_tables reiserfs ext2 mbcache ide_cd cdrom 
intel_agp psmouse shpchp pci_hotplug floppy agpgart parport_pc parport pcspkr 
serio_raw evdev rtc dvb_usb_dtt200u dvb_usb dvb_core firmware_class dvb_pll 
i2c_core jfs dm_mirror dm_snapshot dm_mod raid5 xor raid1 raid0 md_mod 
ide_generic usbhid ide_disk ehci_hcd ohci_hcd piix generic ide_core usbcore 
3c59x mii thermal processor fan
CPU:    0
EIP:    0060:[<d8c24e45>]    Not tainted VLI
EFLAGS: 00010246   (2.6.16-2-686 #1)
EIP is at dvb_frontend_release+0x18/0x52 [dvb_core]
eax: 2e36303a   ebx: ceb92200   ecx: ceb92200   edx: c43d6e8c
esi: ceb92200   edi: d7039a44   ebp: bb32f314   esp: c2679d5c
ds: 007b   es: 007b   ss: 0068
Process tzap (pid: 11998, threadinfo=c2678000 task=b2ca6030)
Stack: <0>00000008 ceb92200 d7039a44 b014740e d7039a44 ceb92200 d7fe3140 
ceb92200
       00000000 c01d8900 bc38fec0 b0145196 ceb92200 c01d8900 ceb92200 c01d8900
       c01d8900 0000000c 00000007 b0116de6 ceb92200 c01d8900 00000001 00000000
Call Trace:
 [<b014740e>] __fput+0x80/0x11a
 [<b0145196>] filp_close+0x4e/0x57
 [<b0116de6>] put_files_struct+0x66/0xa3
 [<b0117ab7>] do_exit+0x17e/0x5f8
 [<b0103d94>] do_simd_coprocessor_error+0x0/0x163
 [<b0111f3e>] do_page_fault+0x37b/0x4a4
 [<b0111bc3>] do_page_fault+0x0/0x4a4
 [<b0103447>] error_code+0x4f/0x54
 [<d886007b>] ehci_urb_done+0x3d/0x62 [ehci_hcd]
 [<d8c20158>] dvb_usercopy+0xb0/0x10b [dvb_core]
 [<b025e9ab>] schedule+0x454/0x4c1
 [<b0126035>] enqueue_hrtimer+0x58/0x86
 [<b012624f>] hrtimer_cancel+0xb/0x12
 [<b025f0ae>] schedule_hrtimer+0x2e/0x6c
 [<d8c201df>] dvb_generic_ioctl+0x2c/0x30 [dvb_core]
 [<b0154889>] do_ioctl+0x3d/0x4e
 [<b0154a8a>] vfs_ioctl+0x1f0/0x202
 [<b0154ae2>] sys_ioctl+0x46/0x60
 [<b0102915>] syscall_call+0x7/0xb
Code: 00 39 93 68 01 00 00 ba 00 00 00 00 5b 5e 0f 44 c2 5f c3 57 56 53 8b 5c 
24 14 83 3d 58 0f c3 d8 00 8b 7c 24 10 8b 43 74 8b 40 28 <8b> b0 d4 01 00 00 
74 11 68 34 85 c2 d8 68 98 97 c2 d8 e8 d4 19
 <1>Fixing recursive fault but reboot is needed!
usb 4-6: device descriptor read/64, error -71


-- 
Alan Chandler
http://www.chandlerfamily.org.uk



More information about the linux-dvb mailing list