[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-usb
Subject: AMD XHCI controller 1022:145c needs the XHCI_SUSPEND_DELAY quirk to suspend properly
From: Alberto Mattea <alberto () mattea ! info>
Date: 2020-02-17 2:45:30
Message-ID: 5338000.DvuYhMxLoT () alby
[Download RAW message or body]
Tested with linux 5.6-rc2
Without the quirk, suspending the system fails with:
[ 240.521724] xhci_hcd 0000:30:00.3: WARN: xHC save state timeout
[ 240.521729] xhci_hcd 0000:30:00.3: ERROR mismatched command completion event
[ 240.521738] PM: suspend_common(): xhci_pci_suspend+0x0/0xc0 returns -110
[ 240.521740] PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x20 returns -110
[ 240.521742] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x210 returns -110
[ 240.521744] PM: Device 0000:30:00.3 failed to suspend async: error -110
[ 241.089628] PM: Some devices failed to suspend, or early wake event detected
[ 241.090124] hub 3-0:1.0: hub_ext_port_status failed (err = -108)
[ 241.090125] usb usb3-port1: cannot disable (err = -108)
The controller appears in lspci as:
30:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models \
00h-0fh) USB 3.0 Host Controller [1022:145c] (prog-if 30 [XHCI])
Subsystem: ASRock Incorporation Family 17h (Models 00h-0fh) USB 3.0 Host \
Controller [1849:7914]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- \
SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- \
<MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin C routed to IRQ 64
Region 0: Memory at fca00000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA \
PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 \
PME- Capabilities: [64] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 \
unlimited
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- \
SlotPowerLimit 0.000W
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit Latency \
L0s <64ns, L1 <1us ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- \
BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF \
Not Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF \
Disabled
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, \
EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, \
LinkEqualizationRequest- Capabilities: [a0] MSI: Enable+ Count=1/8 Maskable- 64bit+
Address: 00000000fee00000 Data: 4029
Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150 v2] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- \
MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- \
MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ \
MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [2a0 v1] Access Control Services
ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- \
EgressCtrl- DirectTrans-
ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- \
EgressCtrl- DirectTrans- Kernel driver in use: xhci_hcd
Thanks,
Alberto
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic