On Tue, Jul 27, 2021 at 06:10:13AM +0000, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=213873 > > Bug ID: 213873 > Summary: Hotplug ethernet cable to runtime suspended Realtek > NIC doesn't raise PCIe PME IRQ on Intel ADL > Product: Drivers > Version: 2.5 > Kernel Version: mainline > Hardware: All > OS: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: PCI > Assignee: drivers_pci@xxxxxxxxxxxxxxxxxxxx > Reporter: kai.heng.feng@xxxxxxxxxxxxx > Regression: No > > Both PCIe bridge and Realtek NIC are runtime suspended. When ethernet cable is > plugged, PMEStatus and PMEPending are marked: > RootSta: PME ReqID 0200, PMEStatus+ PMEPending+ > > But the IRQ isn't raised: > $ cat /proc/interrupts | grep PME > 145: 0 0 0 0 0 0 > 0 0 0 0 0 0 VMD-MSI 126 PCIe > PME, aerdrv, pcie-dpc > > So the hotplug event isn't detected. > > -- >From the lspci after cable hotplug (comment #3): 0000:00:1c.0 PCI bridge ... RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- RootSta: PME ReqID 0200, PMEStatus+ PMEPending+ So it looks like the root port is not enabled to generate a PME interrupt. pcie_pme_interrupt_enable() looks like it *could* enable that. From a quick look, my guess is that pme.c doesn't claim this root port because the platform says it doesn't support it: acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug SHPCHotplug PME] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability LTR] Does booting with "pcie_ports=native" make it work? That's not a very good solution, of course, because then both the firmware and Linux think they own this functionality. Is there a BIOS update that would fix this? Bjorn