Re: [PATCH] media: i2c: imx219: Check return value of devm_gpiod_get_optional() in imx219_probe()
From: Dave Stevenson
Date: Mon Feb 02 2026 - 06:52:45 EST
On Mon, 2 Feb 2026 at 02:41, Chen Ni <nichen@xxxxxxxxxxx> wrote:
>
> 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.
>
> Signed-off-by: Chen Ni <nichen@xxxxxxxxxxx>
Thanks for the patch
Reviewed-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>
(Apologies to those directly on the cc for the earlier HTML version of
this R-b. Google appears to have updated the composition settings for
me, and I hadn't noticed)
> ---
> 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
>