• Uwe Kleine-König's avatar
    crypto: stm32 - Properly handle pm_runtime_get failing · aec48805
    Uwe Kleine-König authored
    If pm_runtime_get() (disguised as pm_runtime_resume_and_get()) fails, this
    means the clk wasn't prepared and enabled. Returning early in this case
    however is wrong as then the following resource frees are skipped and this
    is never catched up. So do all the cleanups but clk_disable_unprepare().
    
    Also don't emit a warning, as stm32_hash_runtime_resume() already emitted
    one.
    
    Note that the return value of stm32_hash_remove() is mostly ignored by
    the device core. The only effect of returning zero instead of an error
    value is to suppress another warning in platform_remove(). So return 0
    even if pm_runtime_resume_and_get() failed.
    
    Fixes: 8b4d566d ("crypto: stm32/hash - Add power management support")
    Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    aec48805
stm32-hash.c 52.8 KB