Skip to content

Commit 7f0cdcd

Browse files
ISCAS-VulabMani-Sadhasivam
authored andcommitted
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: 43e6409 ("PCI: mediatek: Add MSI support for MT2712 and MT7622") Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Link: https://patch.msgid.link/20251119023308.476-1-vulab@iscas.ac.cn
1 parent 8f0b4cc commit 7f0cdcd

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/pci/controller/pcie-mediatek.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,8 +585,10 @@ static int mtk_pcie_init_irq_domain(struct mtk_pcie_port *port,
585585

586586
if (IS_ENABLED(CONFIG_PCI_MSI)) {
587587
ret = mtk_pcie_allocate_msi_domains(port);
588-
if (ret)
588+
if (ret) {
589+
irq_domain_remove(port->irq_domain);
589590
return ret;
591+
}
590592
}
591593

592594
return 0;

0 commit comments

Comments
 (0)