mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c
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>
This commit is contained in:
parent
1cb3ad7019
commit
747bf30fd9
@ -542,7 +542,7 @@ static int stm32_cryp_hw_init(struct stm32_cryp *cryp)
|
|||||||
int ret;
|
int ret;
|
||||||
u32 cfg, hw_mode;
|
u32 cfg, hw_mode;
|
||||||
|
|
||||||
pm_runtime_get_sync(cryp->dev);
|
pm_runtime_resume_and_get(cryp->dev);
|
||||||
|
|
||||||
/* Disable interrupt */
|
/* Disable interrupt */
|
||||||
stm32_cryp_write(cryp, CRYP_IMSCR, 0);
|
stm32_cryp_write(cryp, CRYP_IMSCR, 0);
|
||||||
@ -2043,7 +2043,7 @@ static int stm32_cryp_remove(struct platform_device *pdev)
|
|||||||
if (!cryp)
|
if (!cryp)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
ret = pm_runtime_get_sync(cryp->dev);
|
ret = pm_runtime_resume_and_get(cryp->dev);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user