lkml.org 
[lkml]   [2018]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.9 190/293] clk: scpi: error when clock fails to register
    Date
    From: Jerome Brunet <jbrunet@baylibre.com>

    [ Upstream commit 2b286b09a048df80fd5f7dfc5057c2837679a1ab ]

    Current implementation of scpi_clk_add just print a warning when clock
    fails to register but then keep going as if nothing happened. The
    provider is then registered with bogus data.

    This may latter lead to an Oops in __clk_create_clk when
    hlist_add_head(&clk->clks_node, &hw->core->clks) is called.

    This patch fixes the issue and errors if a clock fails to register.

    Fixes: cd52c2a4b5c4 ("clk: add support for clocks provided by SCP(System Control Processor)")
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/clk/clk-scpi.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    diff --git a/drivers/clk/clk-scpi.c b/drivers/clk/clk-scpi.c
    index 96d37175d0ad..e44b5ca91fed 100644
    --- a/drivers/clk/clk-scpi.c
    +++ b/drivers/clk/clk-scpi.c
    @@ -245,10 +245,12 @@ static int scpi_clk_add(struct device *dev, struct device_node *np,
    sclk->id = val;

    err = scpi_clk_ops_init(dev, match, sclk, name);
    - if (err)
    + if (err) {
    dev_err(dev, "failed to register clock '%s'\n", name);
    - else
    - dev_dbg(dev, "Registered clock '%s'\n", name);
    + return err;
    + }
    +
    + dev_dbg(dev, "Registered clock '%s'\n", name);
    clk_data->clk[idx] = sclk;
    }

    --
    2.15.1
    \
     
     \ /
      Last update: 2018-04-09 04:04    [W:4.034 / U:0.412 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site