| From ee5b52260d1e5acd8e263fea2b61b7dc4200939c Mon Sep 17 00:00:00 2001 |
| From: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| Date: Sun, 17 May 2020 11:59:53 +0200 |
| Subject: [PATCH] iio: adc: ad7780: Fix a resource handling path in |
| 'ad7780_probe()' |
| |
| commit b0536f9826a5ed3328d527b4fc1686867a9f3041 upstream. |
| |
| If 'ad7780_init_gpios()' fails, we must not release some resources that |
| have not been allocated yet. Return directly instead. |
| |
| Fixes: 5bb30e7daf00 ("staging: iio: ad7780: move regulator to after GPIO init") |
| Fixes: 9085daa4abcc ("staging: iio: ad7780: add gain & filter gpio support") |
| Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| Acked-by: Renato Lui Geh <renatogeh@gmail.com> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/iio/adc/ad7780.c b/drivers/iio/adc/ad7780.c |
| index 217a5a5c3c6d..7e741294de7b 100644 |
| --- a/drivers/iio/adc/ad7780.c |
| +++ b/drivers/iio/adc/ad7780.c |
| @@ -309,7 +309,7 @@ static int ad7780_probe(struct spi_device *spi) |
| |
| ret = ad7780_init_gpios(&spi->dev, st); |
| if (ret) |
| - goto error_cleanup_buffer_and_trigger; |
| + return ret; |
| |
| st->reg = devm_regulator_get(&spi->dev, "avdd"); |
| if (IS_ERR(st->reg)) |
| -- |
| 2.27.0 |
| |