[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <45646996-6e27-3b6a-9aa8-336612d68dde@gmail.com>
Date: Thu, 8 Sep 2016 22:44:45 +0530
From: arvind Yadav <arvind.yadav.cs@...il.com>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: tglx@...utronix.de, linux-kernel@...r.kernel.org,
Li.Xiubo@...escale.com
Subject: Re: [PATCH] clocksource: Freescale: handle of_iomap failures in
legacy timer driver
Thanks Daniel, I have done the changes as per your suggestion.
Please review it.
-Arvind
On Thursday 08 September 2016 04:32 PM, Daniel Lezcano wrote:
> On 30/08/2016 19:09, Arvind Yadav wrote:
>> Check return value of of_iomap and handle errors correctly.
>>
>> Signed-off-by: Arvind Yadav <arvind.yadav.cs@...il.com>
>> ---
> Hi Arvind,
>
> usually the undo labels are named like this:
>
> err_unmap_clksrc:
>
> err_unmap_clkevt:
>
> Thanks.
>
> -- Daniel
>
>
>> drivers/clocksource/fsl_ftm_timer.c | 16 ++++++++++------
>> 1 file changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/clocksource/fsl_ftm_timer.c b/drivers/clocksource/fsl_ftm_timer.c
>> index 738515b..c42d159 100644
>> --- a/drivers/clocksource/fsl_ftm_timer.c
>> +++ b/drivers/clocksource/fsl_ftm_timer.c
>> @@ -335,36 +335,40 @@ static int __init ftm_timer_init(struct device_node *np)
>> priv->clksrc_base = of_iomap(np, 1);
>> if (!priv->clksrc_base) {
>> pr_err("ftm: unable to map source timer registers\n");
>> - goto err;
>> + goto err1;
>> }
>>
>> ret = -EINVAL;
>> irq = irq_of_parse_and_map(np, 0);
>> if (irq <= 0) {
>> pr_err("ftm: unable to get IRQ from DT, %d\n", irq);
>> - goto err;
>> + goto err2;
>> }
>>
>> priv->big_endian = of_property_read_bool(np, "big-endian");
>>
>> freq = ftm_clk_init(np);
>> if (!freq)
>> - goto err;
>> + goto err2;
>>
>> ret = ftm_calc_closest_round_cyc(freq);
>> if (ret)
>> - goto err;
>> + goto err2;
>>
>> ret = ftm_clocksource_init(freq);
>> if (ret)
>> - goto err;
>> + goto err2;
>>
>> ret = ftm_clockevent_init(freq, irq);
>> if (ret)
>> - goto err;
>> + goto err2;
>>
>> return 0;
>>
>> +err2:
>> + iounmap(priv->clksrc_base);
>> +err1:
>> + iounmap(priv->clkevt_base);
>> err:
>> kfree(priv);
>> return ret;
>>
>
Powered by blists - more mailing lists