Raven Ridge xhci_hcd not working: "Refused to change power state, currently in D3"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On my ThinkPad E585, with a Ryzen 5 2500U, my XHCI driver crashes when plugging in a device after switching power states, or during switching itself.

Steps to Reproduce: 

- Unplug the AC power, or start the computer with AC unplugged. If the computer has AC power at boot, it will work properly, but plugging it in after running unplugged will not.

The xhci_hcd and xhci_pci modules remain loaded after the error. Reloading them appears to reset it, and the scenarios above still apply as if the computer was just started.

These tests were performed with laptop_mode disabled; enabling it alters the behavior. I will test that more later.

Results:

The USB device fails to register, and `lsusb` remains unchanged. No other errors will appear after the first one occurs.
One of two error messages will appear in kernel logs:

[   51.276650] xhci_hcd 0000:05:00.4: Refused to change power state, currently in D3
[   51.276658] xhci_hcd 0000:05:00.3: Refused to change power state, currently in D3
[   51.277051] xhci_hcd 0000:05:00.3: enabling device (0000 -> 0002)
[   51.277074] xhci_hcd 0000:05:00.3: WARN: xHC restore state timeout
[   51.277077] xhci_hcd 0000:05:00.3: PCI post-resume error -110!
[   51.279316] xhci_hcd 0000:05:00.3: HC died; cleaning up
[   51.288669] xhci_hcd 0000:05:00.4: enabling device (0000 -> 0002)

[ 5258.438021] xhci_hcd 0000:05:00.3: Refused to change power state, currently in D3
[ 5258.438328] xhci_hcd 0000:05:00.4: Refused to change power state, currently in D3
[ 5258.450026] xhci_hcd 0000:05:00.3: enabling device (0000 -> 0002)
[ 5258.450511] xhci_hcd 0000:05:00.4: enabling device (0000 -> 0002)
[ 5266.112941] xhci_hcd 0000:05:00.3: Error while assigning device slot ID
[ 5266.112952] xhci_hcd 0000:05:00.3: Max number of devices this xHCI host supports is 64.
[ 5266.112963] usb usb1-port2: couldn't allocate usb_device
[ 5280.960968] xhci_hcd 0000:05:00.3: Error while assigning device slot ID
[ 5280.960979] xhci_hcd 0000:05:00.3: Max number of devices this xHCI host supports is 64.
[ 5280.960993] usb usb1-port2: couldn't allocate usb_device

Expected results: 

Device connects, powers on, and registers properly, showing up in `lsusb`.

Build: 

Linux 4.19.44_1 #1 SMP PREEMPT Wed Mar 27 20:41:38 UTC 2019 x86_64 GNU/Linux, with firmware 20181218

Has been an issue since 4.19.28 and possibly earlier.

-- 
  Adam Gausmann
  agausmann@xxxxxxxxxxxx



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux