Message ID | 20200520075456.21670-1-dinghao.liu@zju.edu.cn (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: sun8i-ce - fix runtime pm imbalance on error | expand |
diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c index 3e4e4bbda34c..18f0f251204c 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c @@ -598,8 +598,10 @@ static int sun8i_ce_probe(struct platform_device *pdev) goto error_alg; err = pm_runtime_get_sync(ce->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_sync(ce->dev); goto error_alg; + } v = readl(ce->base + CE_CTR); v >>= CE_DIE_ID_SHIFT;
pm_runtime_get_sync() increments the runtime PM usage counter even it returns an error code. Thus a pairing decrement is needed on the error handling path to keep the counter balanced. Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> --- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)