usb: gadget: fsl: Fix unsigned expression compared with zero in fsl_udc_probe
authorYe Bin <yebin10@huawei.com>
Mon, 24 Aug 2020 08:42:34 +0000 (16:42 +0800)
committerFelipe Balbi <balbi@kernel.org>
Fri, 2 Oct 2020 06:57:41 +0000 (09:57 +0300)
udc_controller->irq is "unsigned int" always >= 0, but platform_get_irq may
return little than zero. So "dc_controller->irq < 0" condition is never
accessible.

Acked-by: Li Yang <leoyang.li@nxp.com>
Signed-off-by: Ye Bin <yebin10@huawei.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/gadget/udc/fsl_udc_core.c

index a6f7b25..3e98740 100644 (file)
@@ -2439,11 +2439,12 @@ static int fsl_udc_probe(struct platform_device *pdev)
        /* DEN is bidirectional ep number, max_ep doubles the number */
        udc_controller->max_ep = (dccparams & DCCPARAMS_DEN_MASK) * 2;
 
-       udc_controller->irq = platform_get_irq(pdev, 0);
-       if (udc_controller->irq <= 0) {
-               ret = udc_controller->irq ? : -ENODEV;
+       ret = platform_get_irq(pdev, 0);
+       if (ret <= 0) {
+               ret = ret ? : -ENODEV;
                goto err_iounmap;
        }
+       udc_controller->irq = ret;
 
        ret = request_irq(udc_controller->irq, fsl_udc_irq, IRQF_SHARED,
                        driver_name, udc_controller);