From 15a007e7ae5b0680bc236b478c5c680512ec45bd Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 28 Feb 2025 12:35:40 +0300 Subject: [PATCH] iio: adc: ad4030: fix error pointer dereference in probe() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The intention here was obviously to return an error if devm_regmap_init() fails, but the return statement was accidentally left out. This leads to an error pointer dereference when we call: ret = ad4030_detect_chip_info(st); Add the return statement. Fixes: ec25cf6f1ee3 ("iio: adc: ad4030: add support for ad4632-16 and ad4632-24") Signed-off-by: Dan Carpenter Reviewed-by: Nuno Sá Link: https://patch.msgid.link/cc67cee7-9c65-46d2-aae3-f860fc3cc461@stanley.mountain Signed-off-by: Jonathan Cameron --- drivers/iio/adc/ad4030.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/iio/adc/ad4030.c b/drivers/iio/adc/ad4030.c index 209cfc2e17850..9a020680885d9 100644 --- a/drivers/iio/adc/ad4030.c +++ b/drivers/iio/adc/ad4030.c @@ -1011,8 +1011,8 @@ static int ad4030_probe(struct spi_device *spi) st->regmap = devm_regmap_init(dev, &ad4030_regmap_bus, st, &ad4030_regmap_config); if (IS_ERR(st->regmap)) - dev_err_probe(dev, PTR_ERR(st->regmap), - "Failed to initialize regmap\n"); + return dev_err_probe(dev, PTR_ERR(st->regmap), + "Failed to initialize regmap\n"); st->chip = spi_get_device_match_data(spi); if (!st->chip) -- 2.47.3