• Marek Vasut's avatar
    hwrng: stm32 - use pm_runtime_resume_and_get() · f134d5dc
    Marek Vasut authored
    include/linux/pm_runtime.h pm_runtime_get_sync() description suggests to
    ... consider using pm_runtime_resume_and_get() instead of it, especially
    if its return value is checked by the caller, as this is likely to result
    in cleaner code.
    
    This is indeed better, switch to pm_runtime_resume_and_get() which
    correctly suspends the device again in case of failure. Also add error
    checking into the RNG driver in case pm_runtime_resume_and_get() does
    fail, which is currently not done, and it does detect sporadic -EACCES
    error return after resume, which would otherwise lead to a hang due to
    register access on un-resumed hardware. Now the read simply errors out
    and the system does not hang.
    Acked-by: default avatarGatien Chevallier <gatien.chevallier@foss.st.com>
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    f134d5dc
stm32-rng.c 14.8 KB