|
@@ -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;
|