diff options
author | Pali Rohár <pali@kernel.org> | 2022-01-10 02:50:00 +0100 |
---|---|---|
committer | Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> | 2022-02-08 10:41:43 +0000 |
commit | 51f96e287c6f003d3bb29672811c757c5fbf0028 (patch) | |
tree | 6a300ed44dec18502d45b1f1d69eaa6efdb5fd1f /drivers/pci/controller/pci-aardvark.c | |
parent | 1571d67dc190e50c6c56e8f88cdc39f7cc53166e (diff) |
PCI: aardvark: Check return value of generic_handle_domain_irq() when processing INTx IRQ
It is possible that we receive spurious INTx interrupt. Check for the
return value of generic_handle_domain_irq() when processing INTx IRQ.
Link: https://lore.kernel.org/r/20220110015018.26359-6-kabel@kernel.org
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Diffstat (limited to 'drivers/pci/controller/pci-aardvark.c')
-rw-r--r-- | drivers/pci/controller/pci-aardvark.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index d7ee7a22c206..0fb3847bdc4e 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1425,7 +1425,9 @@ static void advk_pcie_handle_int(struct advk_pcie *pcie) advk_writel(pcie, PCIE_ISR1_INTX_ASSERT(i), PCIE_ISR1_REG); - generic_handle_domain_irq(pcie->irq_domain, i); + if (generic_handle_domain_irq(pcie->irq_domain, i) == -EINVAL) + dev_err_ratelimited(&pcie->pdev->dev, "unexpected INT%c IRQ\n", + (char)i + 'A'); } } |