Re: [PATCH 2/2] PCI: Disable PCIE hotplug interrupts early when msi is disabled

From: Lukas Wunner
Date: Tue Feb 04 2025 - 04:20:26 EST


On Tue, Feb 04, 2025 at 01:37:58PM +0800, Feng Tang wrote:
> There was a irq storm bug when testing "pci=nomsi" case, and the root
> cause is: 'nomsi' will disable MSI and let devices and root ports use
> legacy INTX inerrupt, and likely make several devices/ports share one
> interrupt. In the failure case, BIOS doesn't disable the PCIE hotplug
> interrupts, and actually asserts the command-complete interrupt.
> As MSI is disabled, ACPI initialization code will not enumerate root
> port's PCIE hotplug capability, and pciehp service driver wont' be
> enabled for the root port to handle that interrupt, later on when it is
> shared and enabled by other device driver like NVME or NIC, the "nobody
> care irq storm" happens.
>
> So disable the pcie hotplug CCIE/HPIE interrupt in early boot phase when
> MSI is not enbaled.

So I think this issue should go away if disabling the interrupt
by portdrv is no longer conditional on

(pcie_ports_native || host->native_pcie_hotplug)

like I've just proposed here:

https://lore.kernel.org/r/Z6HYuBDP6uvE1Sf4@xxxxxxxxx/

... in which case this patch won't be necessary. Can you confirm that?

You can split the change I've proposed into two patches if you like.

Thanks,

Lukas