From: Wei Yongjun <yongjun_...@trendmicro.com.cn>

Add the missing unlock on the error handling path in function
tegra_aes_get_random() and tegra_aes_rng_reset().

Signed-off-by: Wei Yongjun <yongjun_...@trendmicro.com.cn>
---
 drivers/crypto/tegra-aes.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/tegra-aes.c b/drivers/crypto/tegra-aes.c
index 37185e6..19adf1c 100644
--- a/drivers/crypto/tegra-aes.c
+++ b/drivers/crypto/tegra-aes.c
@@ -674,8 +674,10 @@ static int tegra_aes_get_random(struct crypto_rng *tfm, u8 
*rdata,
        mutex_lock(&aes_lock);
 
        ret = clk_prepare_enable(dd->aes_clk);
-       if (ret)
+       if (ret) {
+               mutex_unlock(&aes_lock);
                return ret;
+       }
 
        ctx->dd = dd;
        dd->ctx = ctx;
@@ -759,8 +761,10 @@ static int tegra_aes_rng_reset(struct crypto_rng *tfm, u8 
*seed,
        dd->flags = FLAGS_ENCRYPT | FLAGS_RNG;
 
        ret = clk_prepare_enable(dd->aes_clk);
-       if (ret)
+       if (ret) {
+               mutex_unlock(&aes_lock);
                return ret;
+       }
 
        aes_set_key(dd);
 


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to