Check the return value of the hardware registration for caam_rng and free
resources in case of failure.

Fixes: e24f7c9e87d4 ("crypto: caam - hwrng support")
Signed-off-by: Iuliana Prodan <iuliana.pro...@nxp.com>
Reviewed-by: Horia Geanta <horia.gea...@nxp.com>
---
 drivers/crypto/caam/caamrng.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/caam/caamrng.c b/drivers/crypto/caam/caamrng.c
index 561bcb5..54c32d5 100644
--- a/drivers/crypto/caam/caamrng.c
+++ b/drivers/crypto/caam/caamrng.c
@@ -333,7 +333,10 @@ int caam_rng_init(struct device *ctrldev)
                goto free_rng_ctx;
 
        dev_info(dev, "registering rng-caam\n");
-       return hwrng_register(&caam_rng);
+
+       err = hwrng_register(&caam_rng);
+       if (!err)
+               return err;
 
 free_rng_ctx:
        kfree(rng_ctx);
-- 
2.1.0

Reply via email to