Commit 7f0cdcdd authored by Haotian Zhang's avatar Haotian Zhang Committed by Manivannan Sadhasivam
Browse files

PCI: mediatek: Fix IRQ domain leak when MSI allocation fails



In mtk_pcie_init_irq_domain(), if mtk_pcie_allocate_msi_domains()
fails after port->irq_domain has been successfully created via
irq_domain_create_linear(), the function returns directly without
cleaning up the allocated IRQ domain, resulting in a resource leak.

Add irq_domain_remove() call in the error path to properly release the
INTx IRQ domain before returning the error.

Fixes: 43e6409d ("PCI: mediatek: Add MSI support for MT2712 and MT7622")
Signed-off-by: default avatarHaotian Zhang <vulab@iscas.ac.cn>
Signed-off-by: default avatarManivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20251119023308.476-1-vulab@iscas.ac.cn
parent 8f0b4cce
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -585,9 +585,11 @@ static int mtk_pcie_init_irq_domain(struct mtk_pcie_port *port,

	if (IS_ENABLED(CONFIG_PCI_MSI)) {
		ret = mtk_pcie_allocate_msi_domains(port);
		if (ret)
		if (ret) {
			irq_domain_remove(port->irq_domain);
			return ret;
		}
	}

	return 0;
}