summaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/pci-ftpci100.c
diff options
context:
space:
mode:
authorNicholas Mc Guire <hofrat@osadl.org>2018-06-29 13:50:27 -0500
committerBjorn Helgaas <bhelgaas@google.com>2018-06-29 13:50:27 -0500
commit3dc6ddfedc2818eaaa36842fbb049191e0c5e50f (patch)
tree79f2f352fba696a65d35a8bfac03351e0e9d5619 /drivers/pci/controller/pci-ftpci100.c
parent342639d996f18bc0a4db2f42a84230c0a966dc94 (diff)
downloadlinux-3dc6ddfedc2818eaaa36842fbb049191e0c5e50f.tar.gz
linux-3dc6ddfedc2818eaaa36842fbb049191e0c5e50f.tar.bz2
linux-3dc6ddfedc2818eaaa36842fbb049191e0c5e50f.zip
PCI: faraday: Add missing of_node_put()
The call to of_get_next_child() returns a node pointer with refcount incremented thus it must be explicitly decremented here in the error path and after the last usage. Fixes: d3c68e0a7e34 ("PCI: faraday: Add Faraday Technology FTPCI100 PCI Host Bridge driver") Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> [lorenzo.pieralisi@arm.com: updated commit log] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pci/controller/pci-ftpci100.c')
-rw-r--r--drivers/pci/controller/pci-ftpci100.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/controller/pci-ftpci100.c b/drivers/pci/controller/pci-ftpci100.c
index a1ebe9ed441f..20bb2564a6b3 100644
--- a/drivers/pci/controller/pci-ftpci100.c
+++ b/drivers/pci/controller/pci-ftpci100.c
@@ -355,11 +355,13 @@ static int faraday_pci_setup_cascaded_irq(struct faraday_pci *p)
irq = of_irq_get(intc, 0);
if (irq <= 0) {
dev_err(p->dev, "failed to get parent IRQ\n");
+ of_node_put(intc);
return irq ?: -EINVAL;
}
p->irqdomain = irq_domain_add_linear(intc, PCI_NUM_INTX,
&faraday_pci_irqdomain_ops, p);
+ of_node_put(intc);
if (!p->irqdomain) {
dev_err(p->dev, "failed to create Gemini PCI IRQ domain\n");
return -EINVAL;