host: ehci-w90x900: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Thu, 20 Nov 2014 17:34:01 +0000 (18:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Nov 2014 01:22:38 +0000 (17:22 -0800)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-w90x900.c

index 4717bf20759549a5359e23ec419395c4aa67c44d..c305732e8634611603b971f200b67d813984aeac 100644 (file)
@@ -75,8 +75,10 @@ static int usb_w90x900_probe(const struct hc_driver *driver,
        __raw_writel(val, ehci->regs+PHY1_CTR);
 
        irq = platform_get_irq(pdev, 0);
-       if (irq < 0)
+       if (irq < 0) {
+               retval = irq;
                goto err2;
+       }
 
        retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
        if (retval != 0)