There exists potential resource leak in the error path, fix it.

Fixes: 8598066cddd1 ("arm: omap: irq: move irq.c to drivers/irqchip/")
Signed-off-by: Tiezhu Yang <yangtie...@loongson.cn>
---
 drivers/irqchip/irq-omap-intc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-omap-intc.c b/drivers/irqchip/irq-omap-intc.c
index d360a6e..e711530 100644
--- a/drivers/irqchip/irq-omap-intc.c
+++ b/drivers/irqchip/irq-omap-intc.c
@@ -254,8 +254,10 @@ static int __init omap_init_irq_of(struct device_node 
*node)
        omap_irq_soft_reset();
 
        ret = omap_alloc_gc_of(domain, omap_irq_base);
-       if (ret < 0)
+       if (ret < 0) {
                irq_domain_remove(domain);
+               iounmap(omap_irq_base);
+       }
 
        return ret;
 }
-- 
2.1.0

Reply via email to