]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
PCI/MSI: Set MSI_FLAG_MUST_REACTIVATE in core code
authorThomas Gleixner <tglx@linutronix.de>
Tue, 17 Oct 2017 07:54:58 +0000 (09:54 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 18 Oct 2017 13:38:31 +0000 (15:38 +0200)
If interrupt reservation mode is enabled then the PCI/MSI interrupts must
be reactivated after early activation.

Make sure that all callers of pci_msi_create_irq_domain() have the
MSI_FLAG_MUST_REACTIVATE set when reservation mode is enabled.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Josh Poulson <jopoulso@microsoft.com>
Cc: Mihai Costache <v-micos@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: linux-pci@vger.kernel.org
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Dexuan Cui <decui@microsoft.com>
Cc: Simon Xiao <sixiao@microsoft.com>
Cc: Saeed Mahameed <saeedm@mellanox.com>
Cc: Jork Loeser <Jork.Loeser@microsoft.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: devel@linuxdriverproject.org
Cc: KY Srinivasan <kys@microsoft.com>
Link: https://lkml.kernel.org/r/20171017075600.448649905@linutronix.de
drivers/pci/msi.c

index 496ed9130600e90c2a78bf1dd815615db7594059..e066071678580271e68da7d962fa3fccfb69ab45 100644 (file)
@@ -1441,6 +1441,8 @@ struct irq_domain *pci_msi_create_irq_domain(struct fwnode_handle *fwnode,
                pci_msi_domain_update_chip_ops(info);
 
        info->flags |= MSI_FLAG_ACTIVATE_EARLY;
+       if (IS_ENABLED(CONFIG_GENERIC_IRQ_RESERVATION_MODE))
+               info->flags |= MSI_FLAG_MUST_REACTIVATE;
 
        domain = msi_create_irq_domain(fwnode, info, parent);
        if (!domain)