# Weird xhci crash/freeze after resume from suspend



## k.jacker (Nov 18, 2018)

I experienced a weird crash, or rather a freeze of the xhci driver after my computer resumed from suspend.
It never happend before, suspend/resume works well on my computer.
No recent hardware changes or problemes otherwise.

mousepointer didn't move, neither in Xorg or on console  (connected USB3.0  port)
usb audio didn't work (connected USB3.0 port)
audio/cmus didn't take any input/seemed crashed
`# usbonfig` hung (no output, no error messages)

When my computer resumed from suspend, I noticed I couldn't move the mouse (in Xorg), so I thought to use `usbconfig` to look for the mouse's port and reset it.
I dropped to the console and ran `# usbconfig` but it just hung, producing no output.
Then I looked at ttyv0 and it was flooded with xhci errors like

```
Nov 18 20:22:12 phlatboks kernel: controller halted
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host system error
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller error
```
and occasionally messages like the following

```
Nov 18 20:23:06 phlatboks kernel: pcm0: unregister: channel pcm0:virtual:dsp0.vp0 busy (pid 811)
Nov 18 20:23:06 phlatboks kernel: pcm0: Waiting for sound application to exit!
```
So I ran `pkill cmus` and switched back to Xorg and cmus had exited (was running in terminal window), so wasn't actually crashed as it seemed before.

A moment later, I could again move the mousepointer, then I started cmus and played some music.
Obviously the xhci driver recoverd itself and the usb devices got reattached as if nothing had happend 
The USB3.0 ports are connected to the controller in the Intel Z97 chipset.

I wonder what could have caused this, the xhci driver? the usb audio device (snd_uaudio.ko)? cmus?
For now I'm not really looking for a solution, more for ideas, what you guys think...

I attach my (stripped down most repeated messages) /var/log/messages

```
Nov 18 20:22:12 phlatboks kernel: controller halted
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host system error
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller error
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller halted
...
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host system error
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller error
Nov 18 20:22:12 phlatboks kernel: ehci_interrupt: unrecoverable error, controller halted
Nov 18 20:22:12 phlatboks kernel: cmd=0xffffffff
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ITC_1
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ITC_2
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ITC_4
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ITC_8
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ITC_16
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ITC_32
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ITC_64
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ASPME
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ASPMC
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_LHCR
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_IAAD
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_ASE
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_PSE
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_FLS_M
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_HCRESET
Nov 18 20:22:12 phlatboks kernel: EHCI_CMD_RS
Nov 18 20:22:12 phlatboks kernel: sts=0xffffffff
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_ASS
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_PSS
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_REC
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_HCH
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_IAA
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_HSE
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_FLR
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_PCD
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_ERRINT
Nov 18 20:22:12 phlatboks kernel: EHCI_STS_INT
Nov 18 20:22:12 phlatboks kernel: acpi0: ien=0xffffffff
Nov 18 20:22:12 phlatboks kernel: cleared fixed power button status
Nov 18 20:22:12 phlatboks kernel: frindex=0xffffffff ctrdsegm=0xffffffff periodic=0xffffffff async=0xffffffff
Nov 18 20:22:12 phlatboks kernel: port 1 status=0xffffffff
Nov 18 20:22:12 phlatboks kernel: port 2 status=0xffffffff
Nov 18 20:22:12 phlatboks kernel: ehci_dump_isoc: isochronous dump from frame 0x07f:
Nov 18 20:22:12 phlatboks kernel: ITD(0xfffffe04313cf000) at 0xab1cb000
Nov 18 20:22:12 phlatboks kernel: next=0x066be004
Nov 18 20:22:12 phlatboks kernel: status[0]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: status[1]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: status[2]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: status[3]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: status[4]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: status[5]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: status[6]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: status[7]=0x00000000; <>
Nov 18 20:22:12 phlatboks kernel: bp[0]=0x00000000
Nov 18 20:22:12 phlatboks kernel: addr=0x00; endpt=0x0
Nov 18 20:22:12 phlatboks kernel: bp[1]=0x00000000
Nov 18 20:22:12 phlatboks kernel: dir=out; mpl=0x00
Nov 18 20:22:12 phlatboks kernel: bp[2..6]=0x00000000,0x00000000,0x00000000,0x00000000,0x00000000
Nov 18 20:22:12 phlatboks kernel: bp_hi=0x00000000,0x00000000,0x00000000,0x00000000,
Nov 18 20:22:12 phlatboks kernel: 0x00000000,0x00000000,0x00000000
Nov 18 20:22:12 phlatboks kernel: SITD(0xfffffe03c3cbe000) at 0x066be000
Nov 18 20:22:12 phlatboks kernel: next=0xaa00b002
Nov 18 20:22:12 phlatboks kernel: portaddr=0x00000000 dir=out addr=0 endpt=0x0 port=0x0 huba=0x0
Nov 18 20:22:12 phlatboks kernel: mask=0x00000000
Nov 18 20:22:12 phlatboks kernel: status=0x00000000 <> len=0x0
Nov 18 20:22:12 phlatboks kernel: back=0x00000001, bp=0x00000000,0x00000000,0x00000000,0x00000000
Nov 18 20:22:12 phlatboks kernel: ehci_interrupt: blocking interrupts 0x10
Nov 18 20:22:12 phlatboks kernel: vgapci0: child drmn0 requested pci_set_powerstate
Nov 18 20:22:12 phlatboks kernel: vgapci0: child drmn0 requested pci_enable_io
Nov 18 20:22:12 phlatboks kernel: vgapci0: child drmn0 requested pci_enable_io
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host system error
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller error
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller halted
...
Nov 18 20:22:12 phlatboks kernel: em0: link state changed to DOWN
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:12 phlatboks last message repeated 54 times
Nov 18 20:22:12 phlatboks kernel: uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
Nov 18 20:22:12 phlatboks kernel: uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:12 phlatboks kernel: uhub_reattach_port: giving up port reset - device vanished
Nov 18 20:22:12 phlatboks kernel: uhub1: at usbus0, port 1, addr 1 (disconnected)
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:12 phlatboks last message repeated 2 times
Nov 18 20:22:12 phlatboks console-kit-daemon[629]: WARNING: Error waiting for native console 9 activation: Inappropriate ioctl for device
Nov 18 20:22:12 phlatboks ntpd[574]: error resolving pool 0.freebsd.pool.ntp.org: hostname nor servname provided, or not known (8)
Nov 18 20:22:12 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:12 phlatboks last message repeated 362 times
Nov 18 20:22:13 phlatboks kernel: ugen0.2: <www.hirestech.com 2010 REV 1.5 Music Streamer II+> at usbus0 (disconnected)
Nov 18 20:22:13 phlatboks kernel: uaudio0: at uhub1, port 3, addr 1 (disconnected)
Nov 18 20:22:13 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:13 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:13 phlatboks kernel: uhub2: 2 ports with 2 removable, self powered
Nov 18 20:22:13 phlatboks kernel: uhub0: 2 ports with 2 removable, self powered
Nov 18 20:22:13 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:13 phlatboks last message repeated 2 times
Nov 18 20:22:14 phlatboks kernel: pcm0: unregister: channel pcm0:virtual:dsp0.vp0 busy (pid 811)
Nov 18 20:22:14 phlatboks kernel: pcm0: Waiting for sound application to exit!
Nov 18 20:22:14 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:14 phlatboks last message repeated 4 times
Nov 18 20:22:14 phlatboks kernel: ugen2.2: <vendor 0x8087 product 0x8001> at usbus2
Nov 18 20:22:14 phlatboks kernel: uhub3 on uhub2
Nov 18 20:22:14 phlatboks kernel: uhub3: <vendor 0x8087 product 0x8001, class 9/0, rev 2.00/0.00, addr 2> on usbus2
Nov 18 20:22:14 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:14 phlatboks last message repeated 4 times
Nov 18 20:22:14 phlatboks kernel: ugen1.2: <vendor 0x8087 product 0x8009> at usbus1
Nov 18 20:22:14 phlatboks kernel: uhub4 on uhub0
Nov 18 20:22:14 phlatboks kernel: uhub4: <vendor 0x8087 product 0x8009, class 9/0, rev 2.00/0.00, addr 2> on usbus1
Nov 18 20:22:14 phlatboks kernel: xhci_interrupt: host controller halted
...
Nov 18 20:22:16 phlatboks last message repeated 7 times
Nov 18 20:22:20 phlatboks kernel: pcm0: unregister: channel pcm0:virtual:dsp0.vp0 busy (pid 811)
Nov 18 20:22:20 phlatboks kernel: pcm0: Waiting for sound application to exit!
Nov 18 20:22:21 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:21 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:22 phlatboks kernel: pcm0: unregister: channel pcm0:virtual:dsp0.vp0 busy (pid 811)
Nov 18 20:22:22 phlatboks kernel: pcm0: Waiting for sound application to exit!
Nov 18 20:22:24 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:22:24 phlatboks last message repeated 5 times
...
Nov 18 20:23:06 phlatboks kernel: pcm0: unregister: channel pcm0:virtual:dsp0.vp0 busy (pid 811)
Nov 18 20:23:06 phlatboks kernel: pcm0: Waiting for sound application to exit!
Nov 18 20:23:06 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:23:06 phlatboks last message repeated 3 times
Nov 18 20:23:06 phlatboks console-kit-daemon[629]: WARNING: Error waiting for native console 1 activation: Inappropriate ioctl for device
Nov 18 20:23:06 phlatboks console-kit-daemon[629]: WARNING: Error waiting for native console 9 activation: Inappropriate ioctl for device
Nov 18 20:23:06 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:25:04 phlatboks kernel: pcm0: unregister: channel pcm0:virtual:dsp0.vp0 busy (pid 811)
Nov 18 20:25:04 phlatboks kernel: pcm0: Waiting for sound application to exit!
Nov 18 20:25:04 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:25:06 phlatboks last message repeated 13 times
Nov 18 20:25:06 phlatboks kernel: pcm0: detached
Nov 18 20:25:06 phlatboks kernel: uaudio0: detached
Nov 18 20:25:06 phlatboks kernel: uhid0: at uhub1, port 3, addr 1 (disconnected)
Nov 18 20:25:06 phlatboks kernel: uhid0: detached
Nov 18 20:25:07 phlatboks kernel: ugen0.3: <Kensington Kensington Expert Mouse> at usbus0 (disconnected)
Nov 18 20:25:07 phlatboks kernel: ums0: at uhub1, port 13, addr 2 (disconnected)
Nov 18 20:25:07 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:25:07 phlatboks last message repeated 336 times
Nov 18 20:25:07 phlatboks kernel: ums0: detached
Nov 18 20:25:07 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:25:08 phlatboks last message repeated 32 times
Nov 18 20:25:08 phlatboks kernel: xhci0: Port routing mask set to 0xffffffff
Nov 18 20:25:08 phlatboks kernel: uhub1: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
Nov 18 20:25:09 phlatboks kernel: uhub1: 21 ports with 21 removable, self powered
----> Nov 18 20:25:10 phlatboks kernel: xhci0: Resetting controller
Nov 18 20:25:10 phlatboks kernel: usb_alloc_device: device init 2 failed (USB_ERR_TIMEOUT, ignored)
Nov 18 20:25:10 phlatboks kernel: ugen0.2: <Unknown > at usbus0 (disconnected)
Nov 18 20:25:10 phlatboks kernel: uhub_reattach_port: could not allocate new device
Nov 18 20:25:11 phlatboks kernel: usb_alloc_device: device init 2 failed (USB_ERR_TIMEOUT, ignored)
Nov 18 20:25:11 phlatboks kernel: ugen0.2: <Unknown > at usbus0 (disconnected)
Nov 18 20:25:11 phlatboks kernel: uhub_reattach_port: could not allocate new device
Nov 18 20:25:11 phlatboks kernel: uhub1: at usbus0, port 1, addr 1 (disconnected)
Nov 18 20:25:11 phlatboks kernel: xhci_interrupt: host controller halted
Nov 18 20:25:11 phlatboks kernel: xhci0: Port routing mask set to 0xffffffff
Nov 18 20:25:11 phlatboks kernel: uhub1: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
Nov 18 20:25:12 phlatboks kernel: uhub1: 21 ports with 21 removable, self powered
Nov 18 20:25:13 phlatboks kernel: ugen0.2: <www.hirestech.com 2010 REV 1.5 Music Streamer II+> at usbus0
Nov 18 20:25:13 phlatboks kernel: uaudio0 on uhub1
Nov 18 20:25:13 phlatboks kernel: uaudio0: <www.hirestech.com 2010 REV 1.5 Music Streamer II+, class 0/0, rev 1.10/0.02, addr 1> on usbus0
Nov 18 20:25:13 phlatboks kernel: uaudio0: Play: 96000 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer.
Nov 18 20:25:13 phlatboks kernel: uaudio0: Play: 88200 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer.
Nov 18 20:25:13 phlatboks kernel: uaudio0: Play: 48000 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer.
Nov 18 20:25:13 phlatboks kernel: uaudio0: Play: 44100 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer.
Nov 18 20:25:13 phlatboks kernel: uaudio0: Play: 32000 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer.
Nov 18 20:25:13 phlatboks kernel: uaudio0: No recording.
Nov 18 20:25:13 phlatboks kernel: uaudio0: No MIDI sequencer.
Nov 18 20:25:13 phlatboks kernel: pcm0: <USB audio> on uaudio0
Nov 18 20:25:13 phlatboks kernel: uaudio0: HID volume keys found.
Nov 18 20:25:13 phlatboks kernel: uhid0 on uhub1
Nov 18 20:25:13 phlatboks kernel: uhid0: <www.hirestech.com 2010 REV 1.5 Music Streamer II+, class 0/0, rev 1.10/0.02, addr 1> on usbus0
Nov 18 20:25:14 phlatboks kernel: ugen0.3: <Kensington Kensington Expert Mouse> at usbus0
Nov 18 20:25:14 phlatboks kernel: ums0 on uhub1
Nov 18 20:25:14 phlatboks kernel: ums0: <Kensington Kensington Expert Mouse, class 0/0, rev 1.10/1.00, addr 2> on usbus0
Nov 18 20:25:14 phlatboks kernel: ums0: 4 buttons and [XYZ] coordinates ID=0
```

Edit:
For completeness, the involved usb devices:
# usbconfig | grep -E 'hires|Kensing'
ugen0.2: <www.hirestech.com 2010 REV 1.5 Music Streamer II+> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (250mA)
ugen0.3: <Kensington Kensington Expert Mouse> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)


----------

