Re: [patch 2/3] PCI/MSI: Set MSI_FLAG_MUST_REACTIVATE in core code

From: Thomas Gleixner
Date: Tue Oct 17 2017 - 08:28:51 EST


On Tue, 17 Oct 2017, Thomas Gleixner wrote:

> 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>
> ---
> drivers/pci/msi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -1441,6 +1441,8 @@ struct irq_domain *pci_msi_create_irq_do
> pci_msi_domain_update_chip_ops(info);
>
> info->flags |= MSI_FLAG_ACTIVATE_EARLY;
> + if (IS_ENABLED(CONFIG_GENERIC_IRQ_RESERVATION))

Bah. quilt refresh seems overrated. Correct patch below.

Thanks,

tglx

8<----------------

--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -1441,6 +1441,8 @@ struct irq_domain *pci_msi_create_irq_do
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)