USB: OTG: msm: Free VCCCX regulator even if we can't set the voltage
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 15 May 2011 16:55:58 +0000 (09:55 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 17 May 2011 18:20:23 +0000 (11:20 -0700)
If for some reason we fail to set the voltage range for the VDDCX regulator
when removing it's better to still disable and free the regulator as that
avoids leaking a reference to it and is likely to ensure that it's turned
off completely.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/otg/msm_otg.c

index db69b2a..b276f8f 100644 (file)
@@ -93,11 +93,9 @@ static int msm_hsusb_init_vddcx(struct msm_otg *motg, int init)
        } else {
                ret = regulator_set_voltage(hsusb_vddcx, 0,
                        USB_PHY_VDD_DIG_VOL_MAX);
-               if (ret) {
+               if (ret)
                        dev_err(motg->otg.dev, "unable to set the voltage "
                                        "for hsusb vddcx\n");
-                       return ret;
-               }
                ret = regulator_disable(hsusb_vddcx);
                if (ret)
                        dev_err(motg->otg.dev, "unable to disable hsusb vddcx\n");