Re: Dell TB16 dock: xHCI host controller dies on USB device connection
From: Alexey Brodkin
Date: Mon Jul 23 2018 - 03:27:49 EST
Hello,
On Mon, 2018-07-23 at 10:12 +0300, Alexey Brodkin wrote:
> Hello,
>
> I use Dell 7480 laptop connected to Dell TB16 Thunderbolt docking station.
> Once in a while when USB device gets connected to Dell TB16 dock its xHCI controller "dies".
> To recover its functionality it's required to reconnect Thunderbolt cable.
>
> What's interesting video output to external monitor connected to the same one dock works all the time flawlessly.
>
> Version-Release number of selected component (if applicable):
> Currently I'm on Fedora-28 with kernel 4.17.3-200.fc28.x86_64 but that issues has been seen from the very beginning
> (cannot recall exact kernel version I started from with that laptop, I guess it was 4.14.y or 4.15.y).
>
> How reproducible:
> Once in a while, i.e. not on every connection of USB device but pretty often. Like every 10th time.
>
> Steps to Reproduce:
> 1. Plug-in USB device (could be anything like FTDI USB-to-Serial cable, smartphone, anything)repeat.
>
> 2. Wait for at least a minute (for USB device gets recognized and if xHCI controller stops to respond kernel will disable it which will be visible
> if
> there's something like mouse/keyboard/audiocard is connected to the dock as well - so it will stop to work)
>
> 3. If nothing happens - unplug and repeat from (1).
>
> Actual results:
> In dmesg the following will appear:
> ----------------------------------->8--------------------------------
> [ 6163.713341] usb 3-1.3: new high-speed USB device number 9 using xhci_hcd
> [ 6169.421418] usb 3-1.3: device descriptor read/all, error -110
> [ 6175.966362] xhci_hcd 0000:0b:00.0: xHCI host not responding to stop endpoint command.
> [ 6176.057213] xhci_hcd 0000:0b:00.0: Host halt failed, -110
> [ 6176.057214] xhci_hcd 0000:0b:00.0: xHCI host controller not responding, assume dead
> [ 6176.057224] r8152 4-1.1:1.0 enp11s0u1u1: Stop submitting intr, status -108
> [ 6176.057227] r8152 4-1.2:1.0 enp11s0u1u2: Stop submitting intr, status -108
> [ 6176.057235] xhci_hcd 0000:0b:00.0: HC died; cleaning up
> [ 6176.057300] usb 3-1-port3: cannot disable (err = -110)
> [ 6176.057332] usb 3-1-port3: couldn't allocate usb_device
> [ 6176.057338] usb 3-1.5: USB disconnect, device number 3
> [ 6176.057386] usb 3-1: USB disconnect, device number 2
> [ 6176.057713] usb 4-1: USB disconnect, device number 2
> [ 6176.057715] usb 4-1.1: USB disconnect, device number 3
> [ 6176.058335] usb 3-1.7: USB disconnect, device number 4
> [ 6176.058336] usb 3-1.7.1: USB disconnect, device number 5
> [ 6176.080309] usb 4-1.2: USB disconnect, device number 4
> [ 6176.080776] usb 3-1.7.3: USB disconnect, device number 6
> [ 6176.105211] usb 3-1.7.4: USB disconnect, device number 8
> ----------------------------------->8--------------------------------
Maybe I sent previous email a bit too soon as there's already
a fix from Mathias [1] in Linus' tree.
Once it gets back-ported to 4.17.y branch and corresponding kernel update
hits Fedora's repos we'll see if it makes any difference.
Sorry for the noise though.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=229bc19fd7aca4f37964af06e3583c1c8f36b5d6
-Alexey