| From c8cc4cf60b000fb9f4b29bed131fb6cf1fe42d67 Mon Sep 17 00:00:00 2001 |
| From: Yang Yingliang <yangyingliang@huawei.com> |
| Date: Tue, 1 Jun 2021 22:26:05 +0800 |
| Subject: iio: frequency: adf4350: disable reg and clk on error in adf4350_probe() |
| |
| From: Yang Yingliang <yangyingliang@huawei.com> |
| |
| commit c8cc4cf60b000fb9f4b29bed131fb6cf1fe42d67 upstream. |
| |
| Disable reg and clk when devm_gpiod_get_optional() fails in adf4350_probe(). |
| |
| Fixes:4a89d2f47ccd ("iio: adf4350: Convert to use GPIO descriptor") |
| Reported-by: Hulk Robot <hulkci@huawei.com> |
| Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> |
| Reviewed-by: Linus Walleij <linus.walleij@linaro.org> |
| Link: https://lore.kernel.org/r/20210601142605.3613605-1-yangyingliang@huawei.com |
| Cc: <Stable@vger.kernel.org> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/iio/frequency/adf4350.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/iio/frequency/adf4350.c |
| +++ b/drivers/iio/frequency/adf4350.c |
| @@ -563,8 +563,10 @@ static int adf4350_probe(struct spi_devi |
| |
| st->lock_detect_gpiod = devm_gpiod_get_optional(&spi->dev, NULL, |
| GPIOD_IN); |
| - if (IS_ERR(st->lock_detect_gpiod)) |
| - return PTR_ERR(st->lock_detect_gpiod); |
| + if (IS_ERR(st->lock_detect_gpiod)) { |
| + ret = PTR_ERR(st->lock_detect_gpiod); |
| + goto error_disable_reg; |
| + } |
| |
| if (pdata->power_up_frequency) { |
| ret = adf4350_set_freq(st, pdata->power_up_frequency); |