crypto: caam - check irq_of_parse_and_map for errors
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Wed, 4 Sep 2019 02:35:06 +0000 (19:35 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 9 Sep 2019 13:48:22 +0000 (23:48 +1000)
Irq_of_parse_and_map will return zero in case of error, so add a error
check for that.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Horia Geantă <horia.geanta@nxp.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Iuliana Prodan <iuliana.prodan@nxp.com>
Cc: linux-crypto@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/jr.c

index 7947d61a25cf68fd5a7a60307bd7d621c2f455bc..2732f3a0725a113e5e6bfa67cb46758be23414a6 100644 (file)
@@ -537,6 +537,10 @@ static int caam_jr_probe(struct platform_device *pdev)
 
        /* Identify the interrupt */
        jrpriv->irq = irq_of_parse_and_map(nprop, 0);
+       if (!jrpriv->irq) {
+               dev_err(jrdev, "irq_of_parse_and_map failed\n");
+               return -EINVAL;
+       }
 
        /* Now do the platform independent part */
        error = caam_jr_init(jrdev); /* now turn on hardware */