Message ID | 20220907061454.3800923-1-chenlifu@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [-next] ARM: mmp: Add missing clk_disable_unprepare() in mmp_dt_init_timer() | expand |
在 2022/9/7 14:14, Chen Lifu 写道: > mmp_dt_init_timer() may have called clk_prepare_enable() before return > from failed branches, add missing clk_disable_unprepare() in these cases. > > Fixes: f36797ee4380 ("ARM: mmp/mmp2: dt: enable the clock") > Signed-off-by: Chen Lifu <chenlifu@huawei.com> > --- > arch/arm/mach-mmp/time.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c > index 41b2e8abc9e6..6d2db1fea1be 100644 > --- a/arch/arm/mach-mmp/time.c > +++ b/arch/arm/mach-mmp/time.c > @@ -207,16 +207,20 @@ static int __init mmp_dt_init_timer(struct device_node *np) > } else { > rate = 3250000; > } > > irq = irq_of_parse_and_map(np, 0); > - if (!irq) > + if (!irq) { > + clk_disable_unprepare(clk); > return -EINVAL; > + } > > mmp_timer_base = of_iomap(np, 0); > - if (!mmp_timer_base) > + if (!mmp_timer_base) { > + clk_disable_unprepare(clk); > return -ENOMEM; > + } > > mmp_timer_init(irq, rate); > return 0; > } > friendly ping ...
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c index 41b2e8abc9e6..6d2db1fea1be 100644 --- a/arch/arm/mach-mmp/time.c +++ b/arch/arm/mach-mmp/time.c @@ -207,16 +207,20 @@ static int __init mmp_dt_init_timer(struct device_node *np) } else { rate = 3250000; } irq = irq_of_parse_and_map(np, 0); - if (!irq) + if (!irq) { + clk_disable_unprepare(clk); return -EINVAL; + } mmp_timer_base = of_iomap(np, 0); - if (!mmp_timer_base) + if (!mmp_timer_base) { + clk_disable_unprepare(clk); return -ENOMEM; + } mmp_timer_init(irq, rate); return 0; }
mmp_dt_init_timer() may have called clk_prepare_enable() before return from failed branches, add missing clk_disable_unprepare() in these cases. Fixes: f36797ee4380 ("ARM: mmp/mmp2: dt: enable the clock") Signed-off-by: Chen Lifu <chenlifu@huawei.com> --- arch/arm/mach-mmp/time.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)