HI all, I encountered an issue while doing S3, it shows below message and then failed to enter S3 [ 106.731140] CPU 31 has 116 vectors, 85 available. Cannot disable CPU [ 106.731551] ACPI: \_PR_.C01F: Found 2 idle states [ 106.732610] Error taking CPU31 down: -28 [ 106.732612] Non-boot CPUs are not disabled CPU: AMD Ryzen Threadripper PRO 3955WX 16-Cores Kernel: v5.19-rc7 There are 5 PCI to 4 type-c ports USB cards on the machine, and It wouldn't lead to the issue if only 4 cards are plugged. So, it looks like it can't handle 5 cards, and failed on the IRQ migration. The workaround provided by kaiheng is to release the irq while suspending and request irq while resuming. I'm wondering do we have a better solution for this kind of issue? Thanks. diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index edc6881c8a1b..91c79b21cb57 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "xhci.h" #include "xhci-trace.h" @@ -1079,6 +1080,9 @@ int xhci_suspend(struct xhci_hcd *xhci, bool do_wakeup) __func__); } + if (pm_suspend_via_firmware()) + xhci_cleanup_msix(xhci); + /* step 5: remove core well power */ /* synchronize irq when using MSI-X */ xhci_msix_sync_irqs(xhci); @@ -1114,6 +1118,9 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) time_before(jiffies, xhci->usb3_rhub.bus_state.next_statechange)) msleep(100); + if (pm_resume_via_firmware()) + xhci_setup_msix(xhci); + set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); set_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); $ lspci -vt -+-[0000:60]-+-00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex | +-00.2 Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU | +-01.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-01.1-[61-66]----00.0-[62-66]--+-08.0-[63]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-09.0-[64]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-10.0-[65]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | \-11.0-[66]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | +-02.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-03.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-03.1-[67-6a]----00.0-[68-6a]--+-08.0-[69]--+-00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP | | | +-00.1 Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller | | | \-00.3 Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller | | \-0a.0-[6a]----00.0 Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] | +-03.2-[6b]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | +-03.3-[6c]----00.0 Intel Corporation I210 Gigabit Network Connection | +-03.4-[6d-6e]----00.0-[6e]----00.0 ASPEED Technology, Inc. ASPEED Graphics Family | +-03.5-[6f]----00.0 Aquantia Corp. Device 14c0 | +-04.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-05.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-07.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-07.1-[70]----00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function | +-08.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | \-08.1-[71]----00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP +-[0000:40]-+-00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex | +-00.2 Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU | +-01.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-01.1-[41-42]--+-00.0 Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] | | \-00.1 Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series] | +-02.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-03.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-03.1-[43-48]----00.0-[44-48]--+-08.0-[45]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-09.0-[46]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-10.0-[47]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | \-11.0-[48]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | +-04.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-05.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-07.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-07.1-[49]----00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function | +-08.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | \-08.1-[4a]----00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP +-[0000:20]-+-00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex | +-00.2 Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU | +-01.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-01.1-[21-26]----00.0-[22-26]--+-08.0-[23]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-09.0-[24]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-10.0-[25]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | \-11.0-[26]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | +-02.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-03.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-03.1-[27-2c]----00.0-[28-2c]--+-08.0-[29]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-09.0-[2a]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | +-10.0-[2b]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | | \-11.0-[2c]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | +-04.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-05.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-07.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | +-07.1-[2d]----00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function | +-08.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge | \-08.1-[2e]--+-00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP | +-00.1 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP | +-00.3 Advanced Micro Devices, Inc. [AMD] Starship USB 3.0 Host Controller | \-00.4 Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller \-[0000:00]-+-00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex +-00.2 Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU +-01.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge +-01.1-[01-06]----00.0-[02-06]--+-08.0-[03]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | +-09.0-[04]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | +-10.0-[05]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller | \-11.0-[06]----00.0 ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller +-02.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge +-03.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge +-03.4-[07]----00.0 Sandisk Corp WD PC SN810 / Black SN850 NVMe SSD +-04.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge +-05.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge +-07.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge +-07.1-[08]----00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function +-08.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge +-08.1-[09]--+-00.0 Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP | \-00.3 Advanced Micro Devices, Inc. [AMD] Starship USB 3.0 Host Controller +-14.0 Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller +-14.3 Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge +-18.0 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 0 +-18.1 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 1 +-18.2 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 2 +-18.3 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 3 +-18.4 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 4 +-18.5 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 5 +-18.6 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 6 \-18.7 Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 7