OSDN Git Service

usb: dwc2: pci: Move devm_kzalloc() before platform_device_add()
authorVardan Mikayelyan <mvardan@synopsys.com>
Fri, 19 Jan 2018 10:46:04 +0000 (14:46 +0400)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 13 Mar 2018 08:47:44 +0000 (10:47 +0200)
After platform_device_add(), if we error out, we must do
platform_device_unregister(), which also does the put. So lets move
devm_kzalloc() to simplify error handling and avoid calling of
platform_device_unregister().

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 11b8ffb..0943f0d 100644 (file)
@@ -140,16 +140,16 @@ static int dwc2_pci_probe(struct pci_dev *pci,
        if (ret)
                goto err;
 
+       glue = devm_kzalloc(dev, sizeof(*glue), GFP_KERNEL);
+       if (!glue)
+               return -ENOMEM;
+
        ret = platform_device_add(dwc2);
        if (ret) {
                dev_err(dev, "failed to register dwc2 device\n");
                goto err;
        }
 
-       glue = devm_kzalloc(dev, sizeof(*glue), GFP_KERNEL);
-       if (!glue)
-               return -ENOMEM;
-
        glue->phy = phy;
        glue->dwc2 = dwc2;
        pci_set_drvdata(pci, glue);