]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
iio: pressure: bmp280: Use IS_ERR() in bmp280_common_probe()
authorSalah Triki <salah.triki@gmail.com>
Mon, 18 Aug 2025 09:27:30 +0000 (10:27 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 18 Aug 2025 18:22:18 +0000 (19:22 +0100)
`devm_gpiod_get_optional()` may return non-NULL error pointer on failure.
Check its return value using `IS_ERR()` and propagate the error if
necessary.

Fixes: df6e71256c84 ("iio: pressure: bmp280: Explicitly mark GPIO optional")
Signed-off-by: Salah Triki <salah.triki@gmail.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250818092740.545379-2-salah.triki@gmail.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/pressure/bmp280-core.c

index 74505c9ec1a08cf3ffdb55bf578d40ede3cc5d00..6cdc8ed53520475f224ed93732ff2de9963762f8 100644 (file)
@@ -3213,11 +3213,12 @@ int bmp280_common_probe(struct device *dev,
 
        /* Bring chip out of reset if there is an assigned GPIO line */
        gpiod = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
+       if (IS_ERR(gpiod))
+               return dev_err_probe(dev, PTR_ERR(gpiod), "failed to get reset GPIO\n");
+
        /* Deassert the signal */
-       if (gpiod) {
-               dev_info(dev, "release reset\n");
-               gpiod_set_value(gpiod, 0);
-       }
+       dev_info(dev, "release reset\n");
+       gpiod_set_value(gpiod, 0);
 
        data->regmap = regmap;