]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
crypto: stm32 - Properly handle pm_runtime_get failing
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 31 Jul 2023 16:54:54 +0000 (18:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Sep 2023 10:22:33 +0000 (12:22 +0200)
commit56cb7bbefcaf963bdb26bd145e2405c5d56f2101
tree40a1e1eebbe9499b8348cdbef9dc6ddfe1412562
parente3c4a6b073e4663a981c0685d3f0a89d9d1c6b4f
crypto: stm32 - Properly handle pm_runtime_get failing

[ Upstream commit aec48805163338f8413118796c1dd035661b9140 ]

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: 8b4d566de6a5 ("crypto: stm32/hash - Add power management support")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/stm32/stm32-hash.c