From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757675AbcIUPaf (ORCPT ); Wed, 21 Sep 2016 11:30:35 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:33916 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757647AbcIUPac (ORCPT ); Wed, 21 Sep 2016 11:30:32 -0400 From: Arvind Yadav To: daniel.lezcano@linaro.org, tglx@linutronix.de Cc: arnd@arndb.de, linux-kernel@vger.kernel.org Subject: [PATCH] clocksource: vf_pit_timer: Unmap region obtained by of_iomap Date: Wed, 21 Sep 2016 20:59:34 +0530 Message-Id: <1474471774-7812-1-git-send-email-arvind.yadav.cs@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Free memory mapping, if pit_timer_init is not successful. Signed-off-by: Arvind Yadav --- drivers/clocksource/vf_pit_timer.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/clocksource/vf_pit_timer.c b/drivers/clocksource/vf_pit_timer.c index 55d8d84..1c345d7 100644 --- a/drivers/clocksource/vf_pit_timer.c +++ b/drivers/clocksource/vf_pit_timer.c @@ -178,16 +178,20 @@ static int __init pit_timer_init(struct device_node *np) clkevt_base = timer_base + PITn_OFFSET(3); irq = irq_of_parse_and_map(np, 0); - if (irq <= 0) - return -EINVAL; + if (irq <= 0) { + ret = -EINVAL; + goto iounmap; + } pit_clk = of_clk_get(np, 0); - if (IS_ERR(pit_clk)) - return PTR_ERR(pit_clk); + if (IS_ERR(pit_clk)) { + ret = PTR_ERR(pit_clk); + goto iounmap; + } ret = clk_prepare_enable(pit_clk); if (ret) - return ret; + goto iounmap; clk_rate = clk_get_rate(pit_clk); cycle_per_jiffy = clk_rate / (HZ); @@ -197,8 +201,12 @@ static int __init pit_timer_init(struct device_node *np) ret = pit_clocksource_init(clk_rate); if (ret) - return ret; + goto iounmap; return pit_clockevent_init(clk_rate, irq); + +iounmap: + iounmap(timer_base); + return ret; } CLOCKSOURCE_OF_DECLARE(vf610, "fsl,vf610-pit", pit_timer_init); -- 2.7.4