Hi Alan, I'm sending a "Reply to all" on this mail. Should I continue to keep Mathias and Bjorn on copy and cross-posting to linux-pci@ (I'm not yet subscribed there, so that post probably won't get through anyway)? > [Roland, what happens if you try unbinding xhci-hcd before ehci-hcd? > Note that unbinding xhci-hcd will cause your wireless keyboard & mouse > to stop working, so you'll have to use a shell script or a network > login to run the test.] The outcome is the same, the system freezes on the readl. See below for the transcript from a screen photo. > I say this may be relevant because Roland found that ehci-hcd was > unable to communicate over the USB bus if it tried to do so before > xhci-hcd was probed. This happens in the 3.17 or earlier kernel -- and > that kernel doesn't suffer the freeze problem. I can also produce the freeze on 3.17, with some extra steps: (after boot there's just the ehci-pci bus with no device) - unbind ehci-pci - bind ehci-pci (now the ehci-pci bus has the missing device) - unbind ehci-pci So the only reason why the older kernels didn't freeze is that the device in question couldn't be initialized with the original probe sequence. I'll try your blacklisting tip over the weekend. Thanks and cheers, Roland [transcript] root@Nightwing# cat ./xhci-ehci-unbind #!/bin/bash echo 0000:00:14.0 > /sys/bus/pci/drivers/xhci_hcd/unbind echo 0000:00:1d.0 > /sys/bus/pci/drivers/ehci-pci/unbind root@Nightwing# echo 8 > /proc/sys/kernel/printk root@Nightwing# ./xhci-ehci-unbind [...] xhci_hcd 0000:00:14.0: remove, state 4 [...] xhci_hcd 0000:00:14.0: roothub graceful disconnect [...] usb usb2: USB disconnect, device number 1 [...] usb_remove_hcd: calling stop [...] usb_remove_hcd: returned from stop [...] usb_remove_hcd: after del_timer_sync [...] xhci_hcd 0000:00:14.0: USB bus 2 deregistered [...] xhci_hcd 0000:00:14.0: remove, state 1 [...] xhci_hcd 0000:00:14.0: roothub graceful disconnect [...] usb usb1: USB disconnect, device number 1 [...] usb 1-2: USB disconnect, device number 2 [...] usb 1-2.1: USB disconnect, device number 4 [...] xhci_hcd 0000:00:14.0: shutdown urb ffff8800727b3300 ep1in-intr [...] usb 1-4: USB disconnect, device number 3 [...] xhci_hcd 0000:00:14.0: shutdown urb ffff8800725ac780 ep1in-intr [...] usb_remove_hcd: calling stop [...] usb_remove_hcd: returned from stop [...] usb_remove_hcd: after del_timer_sync [...] xhci_hcd 0000:00:14.0: USB bus 1 deregistered [...] ehci-pci 0000:00:1d.0: remove, state 4 [...] ehci-pci 0000:00:1d.0: roothub graceful disconnect [...] usb 3-1: USB disconnect, device number 2 [...] usb 3-1: ep 81: release intr @ 8+64 (1.0+256) [1/0 us] mask 0001 [...] usb_remove_hcd: calling stop [...] ehci-pci 0000:00:1d.0: stop [...] ehci_silence_controller: entry [...] ehci_halt: entry [...] ehci_halt: after spin_lock_irq [...] ehci_halt: about to readl prematurely [...] ehci_halt: premature readl returned 10000 [...] ehci_halt: after first ehci_writel [...] ehci_halt: before ehci_readl -- 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