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: d3c68e0a7e
("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>
This commit is contained in:
parent
342639d996
commit
3dc6ddfedc
|
@ -355,11 +355,13 @@ static int faraday_pci_setup_cascaded_irq(struct faraday_pci *p)
|
||||||
irq = of_irq_get(intc, 0);
|
irq = of_irq_get(intc, 0);
|
||||||
if (irq <= 0) {
|
if (irq <= 0) {
|
||||||
dev_err(p->dev, "failed to get parent IRQ\n");
|
dev_err(p->dev, "failed to get parent IRQ\n");
|
||||||
|
of_node_put(intc);
|
||||||
return irq ?: -EINVAL;
|
return irq ?: -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
p->irqdomain = irq_domain_add_linear(intc, PCI_NUM_INTX,
|
p->irqdomain = irq_domain_add_linear(intc, PCI_NUM_INTX,
|
||||||
&faraday_pci_irqdomain_ops, p);
|
&faraday_pci_irqdomain_ops, p);
|
||||||
|
of_node_put(intc);
|
||||||
if (!p->irqdomain) {
|
if (!p->irqdomain) {
|
||||||
dev_err(p->dev, "failed to create Gemini PCI IRQ domain\n");
|
dev_err(p->dev, "failed to create Gemini PCI IRQ domain\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
Loading…
Reference in New Issue