In the impelementation of bcm2835_timer_init() the allocated memory for
timer should be released if setup_irq() fails.

Fixes: 84c39b8b7d46 ("clocksource/drivers/bcm2835_timer: Unmap region obtained 
by of_iomap")
Signed-off-by: Navid Emamdoost <navid.emamdo...@gmail.com>
---
 drivers/clocksource/bcm2835_timer.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clocksource/bcm2835_timer.c 
b/drivers/clocksource/bcm2835_timer.c
index 2b196cbfadb6..7b27cc53ce9c 100644
--- a/drivers/clocksource/bcm2835_timer.c
+++ b/drivers/clocksource/bcm2835_timer.c
@@ -121,6 +121,7 @@ static int __init bcm2835_timer_init(struct device_node 
*node)
        ret = setup_irq(irq, &timer->act);
        if (ret) {
                pr_err("Can't set up timer IRQ\n");
+               kfree(timer);
                goto err_iounmap;
        }
 
-- 
2.17.1

Reply via email to