crypto: omap-aes - fix the reference count leak of omap device
authorZhang Qilong <zhangqilong3@huawei.com>
Fri, 16 Oct 2020 09:05:36 +0000 (17:05 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 30 Oct 2020 06:35:02 +0000 (17:35 +1100)
pm_runtime_get_sync() will increment  pm usage counter even
when it returns an error code. We should call put operation
in error handling paths of omap_aes_hw_init.

Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/omap-aes.c

index 4fd14d9..70ea578 100644 (file)
@@ -105,6 +105,7 @@ static int omap_aes_hw_init(struct omap_aes_dev *dd)
 
        err = pm_runtime_get_sync(dd->dev);
        if (err < 0) {
+               pm_runtime_put_noidle(dd->dev);
                dev_err(dd->dev, "failed to get sync: %d\n", err);
                return err;
        }