lkml.org 
[lkml]   [2019]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 103/434] hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idled
    Date
    From: Tony Lindgren <tony@atomide.com>

    [ Upstream commit eaecce12f5f0d2c35d278e41e1bc4522393861ab ]

    When unloading omap3-rom-rng, we'll get the following:

    WARNING: CPU: 0 PID: 100 at drivers/clk/clk.c:948 clk_core_disable

    This is because the clock may be already disabled by omap3_rom_rng_idle().
    Let's fix the issue by checking for rng_idle on exit.

    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: Adam Ford <aford173@gmail.com>
    Cc: Pali Rohár <pali.rohar@gmail.com>
    Cc: Sebastian Reichel <sre@kernel.org>
    Cc: Tero Kristo <t-kristo@ti.com>
    Fixes: 1c6b7c2108bd ("hwrng: OMAP3 ROM Random Number Generator support")
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/char/hw_random/omap3-rom-rng.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/char/hw_random/omap3-rom-rng.c b/drivers/char/hw_random/omap3-rom-rng.c
    index 38b719017186..648e39ce6bd9 100644
    --- a/drivers/char/hw_random/omap3-rom-rng.c
    +++ b/drivers/char/hw_random/omap3-rom-rng.c
    @@ -121,7 +121,8 @@ static int omap3_rom_rng_remove(struct platform_device *pdev)
    {
    cancel_delayed_work_sync(&idle_work);
    hwrng_unregister(&omap3_rom_rng_ops);
    - clk_disable_unprepare(rng_clk);
    + if (!rng_idle)
    + clk_disable_unprepare(rng_clk);
    return 0;
    }

    --
    2.20.1


    \
     
     \ /
      Last update: 2019-12-29 18:46    [W:3.349 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site