--- a/drivers/irqchip/irq-bcm6345-ext.c +++ b/drivers/irqchip/irq-bcm6345-ext.c @@ -271,21 +271,19 @@ static int __init bcm6345_ext_intc_of_in for (i = 0; i < num_irqs; i++) { irqs[i] = irq_of_parse_and_map(node, i); - if (!irqs[i]) { - ret = -ENOMEM; - goto out_unmap; - } + if (!irqs[i]) + return -ENOMEM; } base = of_iomap(node, 0); if (!base) - goto out_unmap; + return -ENXIO; ret = __bcm6345_ext_intc_init(node, num_irqs, irqs, base, shift, toggle_clear_on_ack); if (!ret) return 0; -out_unmap: + iounmap(base); for (i = 0; i < num_irqs; i++)