Skip to content

Commit bf03850

Browse files
Yuuoniybjorn-helgaas
authored andcommitted
PCI: mediatek-gen3: Fix refcount leak in mtk_pcie_init_irq_domains()
of_get_child_by_name() returns a node pointer with refcount incremented, so we should use of_node_put() on it when we don't need it anymore. Add missing of_node_put() to avoid refcount leak. Fixes: 814ccee ("PCI: mediatek-gen3: Add INTx support") Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Miaoqian Lin <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Miles Chen <[email protected]> Acked-by: Jianjun Wang <[email protected]>
1 parent f2906aa commit bf03850

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

drivers/pci/controller/pcie-mediatek-gen3.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,8 @@ static int mtk_pcie_init_irq_domains(struct mtk_gen3_pcie *pcie)
600600
&intx_domain_ops, pcie);
601601
if (!pcie->intx_domain) {
602602
dev_err(dev, "failed to create INTx IRQ domain\n");
603-
return -ENODEV;
603+
ret = -ENODEV;
604+
goto out_put_node;
604605
}
605606

606607
/* Setup MSI */
@@ -623,13 +624,15 @@ static int mtk_pcie_init_irq_domains(struct mtk_gen3_pcie *pcie)
623624
goto err_msi_domain;
624625
}
625626

627+
of_node_put(intc_node);
626628
return 0;
627629

628630
err_msi_domain:
629631
irq_domain_remove(pcie->msi_bottom_domain);
630632
err_msi_bottom_domain:
631633
irq_domain_remove(pcie->intx_domain);
632-
634+
out_put_node:
635+
of_node_put(intc_node);
633636
return ret;
634637
}
635638

0 commit comments

Comments
 (0)