On Tue, Jul 27, 2021 at 11:55 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > 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. Yes, thanks for spotting this. > > Is there a BIOS update that would fix this? This platform is still under enablement so we'll get a BIOS fix. Kai-Heng > > Bjorn