usb: host: ehci-msm: fix handling platform_get_irq result
authorAndrzej Hajda <a.hajda@samsung.com>
Mon, 21 Sep 2015 13:33:39 +0000 (15:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 09:59:03 +0000 (10:59 +0100)
The function can return negative values.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2038576

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-msm.c

index 275c92e53a5972615166310742b63af0a8d61cf5..c4f84c81de0194e33b9bad75e6aafd1c9074dd74 100644 (file)
@@ -80,12 +80,12 @@ static int ehci_msm_probe(struct platform_device *pdev)
                return  -ENOMEM;
        }
 
-       hcd->irq = platform_get_irq(pdev, 0);
-       if (hcd->irq < 0) {
+       ret = platform_get_irq(pdev, 0);
+       if (ret < 0) {
                dev_err(&pdev->dev, "Unable to get IRQ resource\n");
-               ret = hcd->irq;
                goto put_hcd;
        }
+       hcd->irq = ret;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {