• Martin Kaiser's avatar
    hwrng: st - keep clock enabled while hwrng is registered · 501e197a
    Martin Kaiser authored
    The st-rng driver uses devres to register itself with the hwrng core,
    the driver will be unregistered from hwrng when its device goes out of
    scope. This happens after the driver's remove function is called.
    
    However, st-rng's clock is disabled in the remove function. There's a
    short timeframe where st-rng is still registered with the hwrng core
    although its clock is disabled. I suppose the clock must be active to
    access the hardware and serve requests from the hwrng core.
    
    Switch to devm_clk_get_enabled and let devres disable the clock and
    unregister the hwrng. This avoids the race condition.
    
    Fixes: 3e75241b ("hwrng: drivers - Use device-managed registration API")
    Signed-off-by: default avatarMartin Kaiser <martin@kaiser.cx>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    501e197a
st-rng.c 3.03 KB