crypto: ccree - Add missing clk_disable_unprepare() in cc_pm_resume()
authorYuan Can <yuancan@huawei.com>
Mon, 4 Jul 2022 13:01:45 +0000 (13:01 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 15 Jul 2022 08:43:20 +0000 (16:43 +0800)
Add clk_disable_unprepare() on error path in cc_pm_resume().

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yuan Can <yuancan@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccree/cc_pm.c

index d5421b0..6124fbb 100644 (file)
@@ -41,6 +41,7 @@ static int cc_pm_resume(struct device *dev)
        /* wait for Cryptocell reset completion */
        if (!cc_wait_for_reset_completion(drvdata)) {
                dev_err(dev, "Cryptocell reset not completed");
+               clk_disable_unprepare(drvdata->clk);
                return -EBUSY;
        }
 
@@ -48,6 +49,7 @@ static int cc_pm_resume(struct device *dev)
        rc = init_cc_regs(drvdata);
        if (rc) {
                dev_err(dev, "init_cc_regs (%x)\n", rc);
+               clk_disable_unprepare(drvdata->clk);
                return rc;
        }
        /* check if tee fips error occurred during power down */