On Wed, Aug 27, 2025 at 07:28:46AM +0800, Inochi Amaoto wrote: > OK, I guess I know why: I have missed one condition for startup. > > Could you test the following patch? If worked, I will send it as > a fix. Yes, that appears to resolve the issue on one system. I cannot test the other at the moment since it is under load. Tested-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c > index e0a800f918e8..b11b7f63f0d6 100644 > --- a/drivers/pci/msi/irqdomain.c > +++ b/drivers/pci/msi/irqdomain.c > @@ -154,6 +154,8 @@ static void cond_shutdown_parent(struct irq_data *data) > > if (unlikely(info->flags & MSI_FLAG_PCI_MSI_STARTUP_PARENT)) > irq_chip_shutdown_parent(data); > + else if (unlikely(info->flags & MSI_FLAG_PCI_MSI_MASK_PARENT)) > + irq_chip_mask_parent(data); > } > > static unsigned int cond_startup_parent(struct irq_data *data) > @@ -162,6 +164,9 @@ static unsigned int cond_startup_parent(struct irq_data *data) > > if (unlikely(info->flags & MSI_FLAG_PCI_MSI_STARTUP_PARENT)) > return irq_chip_startup_parent(data); > + else if (unlikely(info->flags & MSI_FLAG_PCI_MSI_MASK_PARENT)) > + irq_chip_unmask_parent(data); > + > return 0; > } >