summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorShixin Liu <liushixin2@huawei.com>2021-04-08 15:18:36 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-05-11 14:04:07 +0200
commit5c411b92439da8447147b657bf4de48b9d517f43 (patch)
tree356dbe88be566a1a2e02ce8495eab75c6216bec8 /drivers/crypto
parente6d5c66737a9269bb28ee7efb1d186fe7d5bf336 (diff)
downloadlinux-5c411b92439da8447147b657bf4de48b9d517f43.tar.gz
linux-5c411b92439da8447147b657bf4de48b9d517f43.tar.bz2
linux-5c411b92439da8447147b657bf4de48b9d517f43.zip
crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c
[ Upstream commit 747bf30fd944f02f341b5f3bc7d97a13f2ae2fbe ] pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in reference leak here. Fix it by replacing it with pm_runtime_resume_and_get to keep usage counter balanced. Signed-off-by: Shixin Liu <liushixin2@huawei.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/stm32/stm32-cryp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/crypto/stm32/stm32-cryp.c b/drivers/crypto/stm32/stm32-cryp.c
index ba5ea6434f9c..9b3511236ba2 100644
--- a/drivers/crypto/stm32/stm32-cryp.c
+++ b/drivers/crypto/stm32/stm32-cryp.c
@@ -537,7 +537,7 @@ static int stm32_cryp_hw_init(struct stm32_cryp *cryp)
int ret;
u32 cfg, hw_mode;
- pm_runtime_get_sync(cryp->dev);
+ pm_runtime_resume_and_get(cryp->dev);
/* Disable interrupt */
stm32_cryp_write(cryp, CRYP_IMSCR, 0);
@@ -2054,7 +2054,7 @@ static int stm32_cryp_remove(struct platform_device *pdev)
if (!cryp)
return -ENODEV;
- ret = pm_runtime_get_sync(cryp->dev);
+ ret = pm_runtime_resume_and_get(cryp->dev);
if (ret < 0)
return ret;