Hello LKML, I hope this is the right place for this sort of bug report: if there's a better place, please do point me there. [1.] Oops and panic on disconnecting Edirol UA-1000 usb2 audio interface [2.] I have an Edirol UA-1000 USB 2.0 Audio Capture unit. When disconnected (or powered down), it repeatably causes a kernel panic, in (I think) linux/drivers/usb/host/ehci-q.c, start_unlink_async(), around line 1015: while (prev->qh_next.qh != qh) prev = prev->qh_next.qh; where somehow prev->qh_next.qh==NULL. [3.] usb2 ehci edirol ua-1000 unplug oops panic [4.] kernels 2.6.12, 2.6.12-rc4, 2.6.12-rc3, 2.6.12-rc2-mm3, 2.6.11.8, 2.6.11-ac7, and some older kernel.org kernels besides. The SuSE 9.1-supplied 2.6.5 kernels don't oops or panic, but also don't recognise the UA-1000 as an audio device at all. [5.] Oops: 0000 [#1] PREEMPT SMP Modules linked in: netconsole edd sg st sd_mod sr_mod scsi_mod nvram usbserial parport_pc lp parport snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss snd_usb_audio snd_usb_lib snd_rawmidi snd_seq_device thermal processor fan button battery ac snd_intel8x0 snd_ac97_codec snd_pcm ipv6 snd_timer snd soundcore snd_page_alloc ohci_hcd ehci_hcd i2c_sis96x i2c_core evdev af_packet pcmcia yenta_socket rsrc_nonstatic pcmcia_core sis900 mii usbcore binfmt_misc ide_cd cdrom dm_mod reiserfs CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00010207 (2.6.12-colinf) EIP is at start_unlink_async+0x62/0xf0 [ehci_hcd] eax: 00000000 ebx: dae8a100 ecx: 00000000 edx: dae8a100 esi: db5cc520 edi: 00010011 ebp: dae8a100 esp: c03f5dd0 ds: 007b es: 007b ss: 0068 Process swapper (pid: 0, threadinfo=c03f4000 task=c035bc00) Stack: db903120 00000001 db903120 ded38f5d 02008148 d5b39e04 dae8a14c 01000000 00000000 00000001 00000001 dae8a14c db903060 db903120 c03f5fa0 db5cc520 00000000 00000001 dae8a100 db4b1900 ded3c60e c04325c0 00000001 00000000 Call Trace: [] qh_completions+0x28d/0x310 [ehci_hcd] [] scan_periodic+0x24e/0x300 [ehci_hcd] [] try_to_wake_up+0x2b0/0x300 [] ehci_work+0x5d/0xc0 [ehci_hcd] [] ehci_irq+0x1bb/0x2e0 [ehci_hcd] [] activate_task+0x92/0xb0 [] try_to_wake_up+0x2b0/0x300 [] recalc_task_prio+0xd3/0x140 [] find_busiest_group+0x105/0x310 [] load_balance+0x127/0x1a0 [] usb_hcd_irq+0x34/0x70 [usbcore] [] handle_IRQ_event+0x32/0x70 [] __do_IRQ+0xd7/0x140 [] do_IRQ+0x36/0x70 [] common_interrupt+0x1a/0x20 [] default_idle+0x0/0x30 [] default_idle+0x23/0x30 [] cpu_idle+0x69/0x80 [] start_kernel+0x1aa/0x230 [] unknown_bootoption+0x0/0x1e0 Code: fa e1 d3 de 3b 5e 18 74 75 c6 43 68 02 8d 43 60 e8 04 cd 49 e1 89 5e 1c 8b 4e 18 8b 41 48 39 d8 74 10 8d b4 26 00 00 00 00 89 c1 <8b> 40 48 39 d8 75 f7 8b 03 89 01 8b 43 48 89 41 48 8b 46 fc 85 <0>Kernel panic - not syncing: Fatal exception in interrupt [6.] I don't know if there's any other USB hardware can cause this; it's 100% reproducible for me with the UA-1000. [7.1.] ver_linux.txt [7.2.] cpuinfo.txt [7.3.] modules.txt [7.4.] lspci.txt [X.] The same thing seems to happen without CONFIG_PREEMPT and without CONFIG_SMP, too. Also it happens both with the laptop's built-in USB 2 ports and with a Belkin PCMCIA USB 2 card. I hope this report makes sense. I'm still only a few steps on from being a Linux beginner, but I'm happy to try out patches, fiddle with my .config, or whatever it takes to get to the bottom of this. Colin Fletcher. --