crypto: ux500 - fix error return code
authorPeter Senna Tschudin <peter.senna@gmail.com>
Mon, 17 Sep 2012 17:28:25 +0000 (19:28 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 27 Sep 2012 05:32:14 +0000 (13:32 +0800)
Convert a nonnegative error return code to a negative one, as returned
elsewhere in the function.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}
// </smpl>

Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Reviewed-by: Arun Murthy <arunrmurthy83@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ux500/cryp/cryp_core.c

index 1c307e1..715c0fe 100644 (file)
@@ -1486,6 +1486,7 @@ static int ux500_cryp_probe(struct platform_device *pdev)
        if (!res_irq) {
                dev_err(dev, "[%s]: IORESOURCE_IRQ unavailable",
                        __func__);
+               ret = -ENODEV;
                goto out_power;
        }