mfd: Fix usbhs_enable error handling
[firefly-linux-kernel-4.4.55.git] / drivers / mfd / omap-usb-host.c
index cb01209754e07db23db087712a2304c708f2b5af..b3bb3ac5b0454bdd70ed98e1b1b905f17cfc7413 100644 (file)
@@ -332,7 +332,7 @@ static int __devinit usbhs_omap_probe(struct platform_device *pdev)
        int                             i;
 
        if (!pdata) {
-               dev_err(dev, "Missing platfrom data\n");
+               dev_err(dev, "Missing platform data\n");
                ret = -ENOMEM;
                goto end_probe;
        }
@@ -700,8 +700,7 @@ static int usbhs_enable(struct device *dev)
        dev_dbg(dev, "starting TI HSUSB Controller\n");
        if (!pdata) {
                dev_dbg(dev, "missing platform_data\n");
-               ret =  -ENODEV;
-               goto end_enable;
+               return  -ENODEV;
        }
 
        spin_lock_irqsave(&omap->lock, flags);
@@ -915,7 +914,8 @@ static int usbhs_enable(struct device *dev)
 
 end_count:
        omap->count++;
-       goto end_enable;
+       spin_unlock_irqrestore(&omap->lock, flags);
+       return 0;
 
 err_tll:
        if (pdata->ehci_data->phy_reset) {
@@ -931,8 +931,6 @@ err_tll:
        clk_disable(omap->usbhost_fs_fck);
        clk_disable(omap->usbhost_hs_fck);
        clk_disable(omap->usbhost_ick);
-
-end_enable:
        spin_unlock_irqrestore(&omap->lock, flags);
        return ret;
 }