]> git.ipfire.org Git - thirdparty/linux.git/commit
PCI: altera: Do not dispose parent IRQ mapping
authorMahesh Vaidya <mahesh.vaidya@altera.com>
Thu, 30 Apr 2026 20:43:29 +0000 (13:43 -0700)
committerManivannan Sadhasivam <mani@kernel.org>
Fri, 15 May 2026 17:28:13 +0000 (22:58 +0530)
commit5ef4bac02189bee0b7c170e352d7a38e13fe9678
tree327ad79b3ce8cb067dc0a8c8e4247112769856f4
parent254f49634ee16a731174d2ae34bc50bd5f45e731
PCI: altera: Do not dispose parent IRQ mapping

altera_pcie_irq_teardown() calls irq_dispose_mapping() on pcie->irq.
However, pcie->irq is the parent IRQ returned by platform_get_irq(), not
the mapping created by Altera INTx irq_domain.

The Altera driver only sets the chained handler on the parent IRQ. It
should detach that handler during teardown, but it should not dispose the
parent IRQ mapping, which belongs to the parent interrupt controller's
irq_domain.

Drop irq_dispose_mapping(pcie->irq) from the teardown path.

Note that during irqchip remove(), the child IRQs should've disposed. But
since the chained handler itself is removed, there is no way the stale
child IRQs (if exists) could fire. So it is safe here.

Fixes: ec15c4d0d5d2 ("PCI: altera: Allow building as module")
Signed-off-by: Mahesh Vaidya <mahesh.vaidya@altera.com>
[mani: added a note about IRQ disposal]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Subhransu S. Prusty <subhransu.sekhar.prusty@altera.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260430204330.3121003-2-mahesh.vaidya@altera.com
drivers/pci/controller/pcie-altera.c