media: i2c: vgxy61: Fix an error handling path in vgxy61_detect()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 3 Oct 2024 17:53:15 +0000 (19:53 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 16 Oct 2024 07:32:40 +0000 (09:32 +0200)
If cci_read() fails, 'st' is set to 0 in cci_read(), so we return success,
instead of the expected error code.

Fix it and return the expected error.

Fixes: 9a6d7f2ba2b9 ("media: i2c: st-vgxy61: Convert to CCI register access helpers")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/vgxy61.c

index 30378e9620166d08f664c77eb79009926c5ac962..8034e21051becee154284afa5dcfb1ef2b58f770 100644 (file)
@@ -1617,7 +1617,7 @@ static int vgxy61_detect(struct vgxy61_dev *sensor)
 
        ret = cci_read(sensor->regmap, VGXY61_REG_NVM, &st, NULL);
        if (ret < 0)
-               return st;
+               return ret;
        if (st != VGXY61_NVM_OK)
                dev_warn(&client->dev, "Bad nvm state got %u\n", (u8)st);