PCI-MSI is oneshot-safe, therefore set flag IRQCHIP_ONESHOT_SAFE to avoid unneeded masking/unmasking. See also discussion here: https://marc.info/?l=linux-pci&m=153332526101128&w=2 Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> --- drivers/pci/msi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 4d88afdf..f2ef8964 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -1446,6 +1446,9 @@ struct irq_domain *pci_msi_create_irq_domain(struct fwnode_handle *fwnode, if (IS_ENABLED(CONFIG_GENERIC_IRQ_RESERVATION_MODE)) info->flags |= MSI_FLAG_MUST_REACTIVATE; + /* PCI-MSI is oneshot-safe */ + info->chip->flags |= IRQCHIP_ONESHOT_SAFE; + domain = msi_create_irq_domain(fwnode, info, parent); if (!domain) return NULL; -- 2.18.0