Re: [PATCH] clk: Don't try to enable critical clocks if prepare failed

From: Stephen Boyd
Date: Thu Dec 26 2019 - 17:02:26 EST


Quoting Guenter Roeck (2019-12-25 08:34:29)
> The following traceback is seen if a critical clock fails to prepare.
>
> bcm2835-clk 3f101000.cprman: plld: couldn't lock PLL
> ------------[ cut here ]------------
> Enabling unprepared plld_per
> WARNING: CPU: 1 PID: 1 at drivers/clk/clk.c:1014 clk_core_enable+0xcc/0x2c0
> ...
> Call trace:
> clk_core_enable+0xcc/0x2c0
> __clk_register+0x5c4/0x788
> devm_clk_hw_register+0x4c/0xb0
> bcm2835_register_pll_divider+0xc0/0x150
> bcm2835_clk_probe+0x134/0x1e8
> platform_drv_probe+0x50/0xa0
> really_probe+0xd4/0x308
> driver_probe_device+0x54/0xe8
> device_driver_attach+0x6c/0x78
> __driver_attach+0x54/0xd8
> ...
>
> Check return values from clk_core_prepare() and clk_core_enable() and
> bail out if any of those functions returns an error.
>
> Cc: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
> Fixes: 99652a469df1 ("clk: migrate the count of orphaned clocks at init")
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---

Applied to clk-fixes