usb: gadget: bcm63xx_udc: Use common error handling code in bcm63xx_udc_probe()
authorMarkus Elfring <elfring@users.sourceforge.net>
Sat, 4 Nov 2017 21:02:46 +0000 (22:02 +0100)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 11 Dec 2017 10:36:52 +0000 (12:36 +0200)
Add a jump target so that a specific error message is stored only once
at the end of this function implementation.
Replace two calls of the function "dev_err" by goto statements.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/gadget/udc/bcm63xx_udc.c

index 29f254793592eb70f73d1e662d7e641f2a11a9c5..465ccd1104dec6cc651d4bbd2bbd3c4ec4940e6b 100644 (file)
@@ -2385,10 +2385,8 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
                goto out_uninit;
        }
        if (devm_request_irq(dev, irq, &bcm63xx_udc_ctrl_isr, 0,
-                            dev_name(dev), udc) < 0) {
-               dev_err(dev, "error requesting IRQ #%d\n", irq);
-               goto out_uninit;
-       }
+                            dev_name(dev), udc) < 0)
+               goto report_request_failure;
 
        /* IRQ resources #1-6: data interrupts for IUDMA channels 0-5 */
        for (i = 0; i < BCM63XX_NUM_IUDMA; i++) {
@@ -2398,10 +2396,8 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
                        goto out_uninit;
                }
                if (devm_request_irq(dev, irq, &bcm63xx_udc_data_isr, 0,
-                                    dev_name(dev), &udc->iudma[i]) < 0) {
-                       dev_err(dev, "error requesting IRQ #%d\n", irq);
-                       goto out_uninit;
-               }
+                                    dev_name(dev), &udc->iudma[i]) < 0)
+                       goto report_request_failure;
        }
 
        bcm63xx_udc_init_debugfs(udc);
@@ -2413,6 +2409,10 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
 out_uninit:
        bcm63xx_uninit_udc_hw(udc);
        return rc;
+
+report_request_failure:
+       dev_err(dev, "error requesting IRQ #%d\n", irq);
+       goto out_uninit;
 }
 
 /**