[tip:x86/apic] PCI/MSI: Set MSI_FLAG_MUST_REACTIVATE in core code

From: tip-bot for Thomas Gleixner
Date: Wed Oct 18 2017 - 09:45:43 EST


Commit-ID: 25e960efc63852b84d1c3739aef586285b177395
Gitweb: https://git.kernel.org/tip/25e960efc63852b84d1c3739aef586285b177395
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
AuthorDate: Tue, 17 Oct 2017 09:54:58 +0200
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Wed, 18 Oct 2017 15:38:31 +0200

PCI/MSI: Set MSI_FLAG_MUST_REACTIVATE in core code

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@xxxxxxxxxxxxx>
Cc: Josh Poulson <jopoulso@xxxxxxxxxxxxx>
Cc: Mihai Costache <v-micos@xxxxxxxxxxxxx>
Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
Cc: linux-pci@xxxxxxxxxxxxxxx
Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Cc: Dexuan Cui <decui@xxxxxxxxxxxxx>
Cc: Simon Xiao <sixiao@xxxxxxxxxxxxx>
Cc: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Cc: Jork Loeser <Jork.Loeser@xxxxxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: devel@xxxxxxxxxxxxxxxxxxxxxx
Cc: KY Srinivasan <kys@xxxxxxxxxxxxx>
Link: https://lkml.kernel.org/r/20171017075600.448649905@xxxxxxxxxxxxx

---
drivers/pci/msi.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 496ed91..e066071 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -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)