From: Benjamin Mugnier Date: Wed, 1 Feb 2023 14:04:16 +0000 (+0100) Subject: media: i2c: st-vgxy61: Fix control flow error on probe X-Git-Tag: v6.4-rc1~161^2~404 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=44b22d45cd45550a9930f5be4e25fc9001e6820b;p=linux-block.git media: i2c: st-vgxy61: Fix control flow error on probe In case of error 'update_hdr' now goes through 'power_off' instead of returning, effectively shutting down the sensor. Signed-off-by: Benjamin Mugnier Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/i2c/st-vgxy61.c b/drivers/media/i2c/st-vgxy61.c index 60f7974fc3bf..76db976e054d 100644 --- a/drivers/media/i2c/st-vgxy61.c +++ b/drivers/media/i2c/st-vgxy61.c @@ -1870,11 +1870,11 @@ static int vgxy61_probe(struct i2c_client *client) vgxy61_fill_framefmt(sensor, sensor->current_mode, &sensor->fmt, VGXY61_MEDIA_BUS_FMT_DEF); + mutex_init(&sensor->lock); + ret = vgxy61_update_hdr(sensor, sensor->hdr); if (ret) - return ret; - - mutex_init(&sensor->lock); + goto error_power_off; ret = vgxy61_init_controls(sensor); if (ret) { @@ -1913,8 +1913,8 @@ error_pm_runtime: media_entity_cleanup(&sensor->sd.entity); error_handler_free: v4l2_ctrl_handler_free(sensor->sd.ctrl_handler); - mutex_destroy(&sensor->lock); error_power_off: + mutex_destroy(&sensor->lock); vgxy61_power_off(dev); return ret;