iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl40...
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 23 Sep 2017 06:06:19 +0000 (08:06 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 24 Sep 2017 11:59:53 +0000 (12:59 +0100)
Commit 7cc97d77ee8a has introduced a call to 'regulator_disable()' in the
.remove function.
So we should also have such a call in the .probe function in case of
error after a successful 'regulator_enable()' call.

Add a new label for that and use it.

Fixes: 7cc97d77ee8a ("iio: adc: twl4030: Fix ADC[3:6] readings")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/twl4030-madc.c

index 252f5890311ee0e8b6525c8e9b22f8437fe2ab9d..0c86fbb3033e42f8381cfc3ef760f087b7eef3f0 100644 (file)
@@ -899,11 +899,13 @@ static int twl4030_madc_probe(struct platform_device *pdev)
        ret = iio_device_register(iio_dev);
        if (ret) {
                dev_err(&pdev->dev, "could not register iio device\n");
-               goto err_i2c;
+               goto err_usb3v1;
        }
 
        return 0;
 
+err_usb3v1:
+       regulator_disable(madc->usb3v1);
 err_i2c:
        twl4030_madc_set_current_generator(madc, 0, 0);
 err_current_generator: