Blob Blame History Raw
From: Nicholas Mc Guire <hofrat@osadl.org>
Date: Fri, 29 Jun 2018 13:50:27 -0500
Subject: PCI: faraday: Add missing of_node_put()
Git-commit: 3dc6ddfedc2818eaaa36842fbb049191e0c5e50f
Patch-mainline: v4.18-rc4
References: bsc#1109806

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>
Acked-by: Joerg Roedel <jroedel@suse.de>
---
 drivers/pci/host/pci-ftpci100.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/pci/host/pci-ftpci100.c
+++ b/drivers/pci/host/pci-ftpci100.c
@@ -352,6 +352,7 @@ static int faraday_pci_setup_cascaded_ir
 
 	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;