]> git.karo-electronics.de Git - linux-beck.git/commitdiff
gpio: xlp: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 23 Aug 2015 00:11:22 +0000 (02:11 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 26 Aug 2015 12:49:23 +0000 (14:49 +0200)
Return a negative error code on failure.

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

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

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-xlp.c

index 9bdab7203d6515b84717170bbf3edb1c8d9b70f9..e02499a15e72263846e813ee1f990916113923b3 100644 (file)
@@ -387,7 +387,7 @@ static int xlp_gpio_probe(struct platform_device *pdev)
        irq_base = irq_alloc_descs(-1, XLP_GPIO_IRQ_BASE, gc->ngpio, 0);
        if (irq_base < 0) {
                dev_err(&pdev->dev, "Failed to allocate IRQ numbers\n");
-               return err;
+               return -ENODEV;
        }
 
        err = gpiochip_add(gc);