From: Stephen Boyd Date: Wed, 5 Feb 2020 23:28:02 +0000 (-0800) Subject: clk: Bail out when calculating phase fails during clk registration X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2760878662a290ac57cff8a5a8d8bda8f4dddc37;p=linux.git clk: Bail out when calculating phase fails during clk registration Bail out of clk registration if we fail to get the phase for a clk that has a clk_ops::get_phase() callback. Print a warning too so that driver authors can easily figure out that some clk is unable to read back phase information at boot. Cc: Douglas Anderson Cc: Heiko Stuebner Suggested-by: Jerome Brunet Signed-off-by: Stephen Boyd Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org Acked-by: Jerome Brunet --- diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index dc8bdfbd6a0c4..ed1797857bae0 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -3457,7 +3457,12 @@ static int __clk_core_init(struct clk_core *core) * Since a phase is by definition relative to its parent, just * query the current clock phase, or just assume it's in phase. */ - clk_core_get_phase(core); + ret = clk_core_get_phase(core); + if (ret < 0) { + pr_warn("%s: Failed to get phase for clk '%s'\n", __func__, + core->name); + goto out; + } /* * Set clk's duty cycle.