On Tue, 24 Jun 2014 15:35:06 -0400 (EDT), Alan Stern wrote: > On Fri, 20 Jun 2014, Dennis New wrote: > > > > However, lsusb does not work, and I cannot kill it -- it remains > > > in D (uninterruptible sleep) state. I am also unable to rmmod the > > > snd_usb_audio module -- rmmod gets stuck in D state too. > > > > > > When I tried echoing (0000:00:13.0) to ohci_pci/unbind, although > > > dmesg says: > > > > > > [140078.654462] ohci-pci 0000:00:13.0: remove, state 1 > > > [140078.654480] usb usb2: USB disconnect, device number 1 > > > > > > ... the echo command (a bash internal) does not terminate, and > > > also gets stuck in D state. > > > > > > Although the symlink to 0000:00:13.0 does get removed from that > > > directory. But trying to echo this back to ohci_pci/bind doesn't > > > work: > > > > > > "write error: No such device" > > > > > > Even though 0000:00:13.0 is still listed > > > in /sys/kernel/debug/usb/ohci. > > > > > > Try to "cat" /sys/kernel/debug/usb/devices also fails, and cat > > > gets stuck in D state too. > > > > > > My usb thumbdrive also no longer works after this occurs, > > > although I'm pretty sure it uses EHCI. I'm forced to reboot to > > > get usb working again :s. > > Here's a revised patch for you to try. This is meant to apply on top > of 3.15. > > As it turns out, when I tested this, it revealed a bug in the USB > audio driver. So I'm including a work-around for that bug at the > start of the patch. The bug seems to have been largely fixed with this patch!!1 Although ohci (and/or the usb audio device) does still crash, it does so gracefully. mplayer and lsusb, etc continue working, unlike before. I am still able to plug the usb device into another port, and it will work, using 0000:00:13.1. I no longer seem to get the "timeout: still 2 active urbs on EP #3" messages. [39209.542786] ohci-pci 0000:00:13.0: HcDoneHead not written back; disabled [39209.542796] ohci-pci 0000:00:13.0: HC died; cleaning up [39209.542898] usb 2-4: USB disconnect, device number 5 /sys/kernel/debug/usb/ohci/...13.0/registers when crashed says: bus pci, device 0000:00:13.0 OHCI PCI host controller ohci_hcd OHCI 1.0, NO legacy support registers, rh state halted control 0x283 RWC HCFS=operational CBSR=3 cmdstatus 0x00000 SOC=0 intrstatus 0x00000064 RHSC FNO SF intrenable 0x00000004 SF hcca frame 0x2e8d fmintvl 0x27782edf FSMPS=0x2778 FI=0x2edf fmremaining 0x000004c5 FR=0x04c5 periodicstart 0x0000 lsthresh 0x0628 hub poll timer off roothub.a 02000204 POTPGT=2 NPS NDP=4(4) roothub.b 00000000 PPCM=0000 DR=0000 roothub.status 00008000 DRWE roothub.portstatus [0] 0x00000100 PPS roothub.portstatus [1] 0x00000100 PPS roothub.portstatus [2] 0x00000100 PPS roothub.portstatus [3] 0x00030100 PESC CSC PPS (although the hcca frame counter is stopped, the fmremaining/FR values are changing.) echo 0000:00:13.0 >/sys/bus/pci/drivers/ohci_pci/unbind [39522.284135] ohci-pci 0000:00:13.0: remove, state 1 [39522.284152] usb usb2: USB disconnect, device number 1 [39522.285706] ohci-pci 0000:00:13.0: USB bus 2 deregistered echo 0000:00:13.0 >/sys/bus/pci/drivers/ohci_pci/bind [39530.642947] ohci-pci 0000:00:13.0: OHCI PCI host controller [39530.643269] ohci-pci 0000:00:13.0: new USB bus registered, assigned bus number 2 [39530.643323] ohci-pci 0000:00:13.0: irq 19, io mem 0xc0000000 [other plugged-in ohci devices (i.e. 4port hub) detected] I wonder if this unbind'ing and bind'ing should be done automatically, when a crash is detected? -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html