[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