usb: dwc2: pci: Handle error cleanup in probe
authorVardan Mikayelyan <mvardan@synopsys.com>
Fri, 19 Jan 2018 10:46:30 +0000 (14:46 +0400)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 13 Mar 2018 08:47:45 +0000 (10:47 +0200)
The probe function doesn't properly handle errors. Fix it so that it
properly handles cleanup.

Acked-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Vardan Mikayelyan <mvardan@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Grigor Tovmasyan <tovmasya@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc2/pci.c

index 0943f0d..7f21747 100644 (file)
@@ -114,7 +114,7 @@ static int dwc2_pci_probe(struct pci_dev *pci,
        dwc2 = platform_device_alloc("dwc2", PLATFORM_DEVID_AUTO);
        if (!dwc2) {
                dev_err(dev, "couldn't allocate dwc2 device\n");
-               return -ENOMEM;
+               goto err;
        }
 
        memset(res, 0x00, sizeof(struct resource) * ARRAY_SIZE(res));
@@ -131,7 +131,7 @@ static int dwc2_pci_probe(struct pci_dev *pci,
        ret = platform_device_add_resources(dwc2, res, ARRAY_SIZE(res));
        if (ret) {
                dev_err(dev, "couldn't add resources to dwc2 device\n");
-               return ret;
+               goto err;
        }
 
        dwc2->dev.parent = dev;
@@ -142,7 +142,7 @@ static int dwc2_pci_probe(struct pci_dev *pci,
 
        glue = devm_kzalloc(dev, sizeof(*glue), GFP_KERNEL);
        if (!glue)
-               return -ENOMEM;
+               goto err;
 
        ret = platform_device_add(dwc2);
        if (ret) {