Re: [PATCH] media: i2c: imx219: Check return value of devm_gpiod_get_optional() in imx219_probe()

From: Jai Luthra

Date: Tue Feb 03 2026 - 19:59:06 EST


Quoting Chen Ni (2026-02-02 08:10:24)
> The devm_gpiod_get_optional() function may return an error pointer
> (ERR_PTR) in case of a genuine failure during GPIO acquisition,
> not just NULL which indicates the legitimate absence of an optional
> GPIO.
>
> Add an IS_ERR() check after the function call to catch such errors and
> propagate them to the probe function, ensuring the driver fails to load
> safely rather than proceeding with an invalid pointer.

Good catch, maybe a fixes tag is appropriate so this gets backported to
stable kernels.

Fixes: 1283b3b8f82b ("media: i2c: Add driver for Sony IMX219 sensor")

with that,

Reviewed-by: Jai Luthra <jai.luthra@xxxxxxxxxxxxxxxx>

>
> Signed-off-by: Chen Ni <nichen@xxxxxxxxxxx>
> ---
> drivers/media/i2c/imx219.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c
> index fee63bc106d9..7da02ce5da15 100644
> --- a/drivers/media/i2c/imx219.c
> +++ b/drivers/media/i2c/imx219.c
> @@ -1218,6 +1218,9 @@ static int imx219_probe(struct i2c_client *client)
> /* Request optional enable pin */
> imx219->reset_gpio = devm_gpiod_get_optional(dev, "reset",
> GPIOD_OUT_HIGH);
> + if (IS_ERR(imx219->reset_gpio))
> + return dev_err_probe(dev, PTR_ERR(imx219->reset_gpio),
> + "failed to get reset gpio\n");
>
> /*
> * The sensor must be powered for imx219_identify_module()
> --
> 2.25.1
>
>