From: Bjorn Helgaas <helgaas@kernel.org>
To: Inochi Amaoto <inochiama@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Marc Zyngier <maz@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Shradha Gupta <shradhagupta@linux.microsoft.com>,
Nathan Chancellor <nathan@kernel.org>,
Anders Roxell <anders.roxell@linaro.org>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
Longbin Li <looong.bin@gmail.com>,
Linux Kernel Functional Testing <lkft@linaro.org>
Subject: Re: [PATCH] PCI/MSI: Check MSI_FLAG_PCI_MSI_MASK_PARENT in cond_[startup|shutdown]_parent()
Date: Wed, 27 Aug 2025 13:32:02 -0500 [thread overview]
Message-ID: <20250827183202.GA893001@bhelgaas> (raw)
In-Reply-To: <20250827062911.203106-1-inochiama@gmail.com>
On Wed, Aug 27, 2025 at 02:29:07PM +0800, Inochi Amaoto wrote:
> For msi controller that only supports MSI_FLAG_PCI_MSI_MASK_PARENT,
> the newly added callback irq_startup() and irq_shutdown() for
> pci_msi[x]_templete will not unmask/mask the interrupt when startup/
> shutdown the interrupt. This will prevent the interrupt from being
> enabled/disabled normally.
s/templete/template/
AFAICS cond_startup_parent() is used by pci_irq_startup_msi() and
pci_irq_startup_msix() in pci_msi_template; cond_shutdown_parent() is
used by pci_irq_shutdown_msi() and pci_irq_shutdown_msix() in
pci_msix_template.
> Add the missing check for MSI_FLAG_PCI_MSI_MASK_PARENT in the
> cond_[startup|shutdown]_parent(). So the interrupt can be normally
> unmasked/masked if it does not support MSI_FLAG_PCI_MSI_MASK_PARENT.
>
> Fixes: 54f45a30c0d0 ("PCI/MSI: Add startup/shutdown for per device domains")
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> Closes: https://lore.kernel.org/regressions/aK4O7Hl8NCVEMznB@monster/
I guess there are several other reporters and reports that could be
added here. Up to you whether to add them.
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> Tested-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> ---
> drivers/pci/msi/irqdomain.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> 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;
> }
>
> --
> 2.51.0
>
next prev parent reply other threads:[~2025-08-27 18:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-27 6:29 [PATCH] PCI/MSI: Check MSI_FLAG_PCI_MSI_MASK_PARENT in cond_[startup|shutdown]_parent() Inochi Amaoto
2025-08-27 10:04 ` Jon Hunter
2025-08-27 18:32 ` Bjorn Helgaas [this message]
2025-08-27 22:52 ` Inochi Amaoto
2025-08-27 22:58 ` Bjorn Helgaas
2025-08-29 7:41 ` Naresh Kamboju
2025-09-01 12:35 ` Mark Brown
2025-09-01 15:24 ` Bjorn Helgaas
2025-09-01 15:26 ` Bjorn Helgaas
-- strict thread matches above, loose matches on Subject: below --
2025-08-27 23:03 Inochi Amaoto
2025-08-27 23:07 ` Inochi Amaoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250827183202.GA893001@bhelgaas \
--to=helgaas@kernel.org \
--cc=anders.roxell@linaro.org \
--cc=bhelgaas@google.com \
--cc=inochiama@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lkft@linaro.org \
--cc=looong.bin@gmail.com \
--cc=lpieralisi@kernel.org \
--cc=maz@kernel.org \
--cc=nathan@kernel.org \
--cc=shradhagupta@linux.microsoft.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.