Re: [PATCH 2/7] ARM: OMAP2+: Fix error handling for omap2_clk_enable_init_clocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 13, 2015 at 03:13:52PM -0800, Tony Lindgren wrote:
> We need to check if we got the clock before trying to do anything
> with it. Otherwise we will get something like this:
> 
> Unable to handle kernel paging request at virtual address fffffffe
> ...
> [<c04bef78>] (clk_prepare) from [<c00338a4>] (omap2_clk_enable_init_clocks+0x50/0x8)
> [<c00338a4>] (omap2_clk_enable_init_clocks) from [<c0876838>] (dm816x_dt_clk_init+0)
> ...
> 
> Let's add check for the clock and WARN if the init clock was not
> found.
> 
> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>

Just one minor nit below, other than that:

Reviewed-by: Felipe Balbi <balbi@xxxxxx>

> ---
>  arch/arm/mach-omap2/clock.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
> index 6ad5b4d..89a0732 100644
> --- a/arch/arm/mach-omap2/clock.c
> +++ b/arch/arm/mach-omap2/clock.c
> @@ -620,6 +620,11 @@ void omap2_clk_enable_init_clocks(const char **clk_names, u8 num_clocks)
>  
>  	for (i = 0; i < num_clocks; i++) {
>  		init_clk = clk_get(NULL, clk_names[i]);
> +		if (IS_ERR(init_clk)) {
> +			WARN(1, "omap clock: could not find init clock %s\n",
> +			     clk_names[i]);

you can combine the if with the WARN():

		if (WARN(IS_ERR(init_clk), "could not find init clock %s\n",
			clk_names[i]))

not that I also removed that "omap clock" prefix because WARN() will
print the file name anyway.

> +			continue;
> +		}
>  		clk_prepare_enable(init_clk);
>  	}
>  }
> -- 
> 2.1.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux