crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
authorZhang Qilong <zhangqilong3@huawei.com>
Fri, 13 Nov 2020 13:17:28 +0000 (21:17 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:53:17 +0000 (11:53 +0100)
[ Upstream commit ff8107200367f4abe0e5bce66a245e8d0f2d229e ]

The pm_runtime_enable will increase power disable depth.
Thus a pairing decrement is needed on the error handling
path to keep it balanced according to context.

Fixes: f7b2b5dd6a62a ("crypto: omap-aes - add error check for pm_runtime_get_sync")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/omap-aes.c

index 4fd14d9..1b1e0ab 100644 (file)
@@ -1137,7 +1137,7 @@ static int omap_aes_probe(struct platform_device *pdev)
        if (err < 0) {
                dev_err(dev, "%s: failed to get_sync(%d)\n",
                        __func__, err);
-               goto err_res;
+               goto err_pm_disable;
        }
 
        omap_aes_dma_stop(dd);
@@ -1246,6 +1246,7 @@ err_engine:
        omap_aes_dma_cleanup(dd);
 err_irq:
        tasklet_kill(&dd->done_task);
+err_pm_disable:
        pm_runtime_disable(dev);
 err_res:
        dd = NULL;