diff options
author | Hans de Goede <[email protected]> | 2022-08-13 11:03:23 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <[email protected]> | 2022-09-24 09:35:14 +0200 |
commit | cbd5b438f8c2b5ed0af57869402320bc9891ccb5 (patch) | |
tree | f22d19b975f1b55db09545130173d866339bfdb6 | |
parent | 44a11920ac39fe7fe5191d72c0822ff2a4c3b83d (diff) |
media: atomisp-ov2680: Improve ov2680_set_fmt() error handling
Exit with an error on any i2c-write errors, rather then only
exiting with an error when ov2680_get_intg_factor() fails.
Reviewed-by: Andy Shevchenko <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r-- | drivers/staging/media/atomisp/i2c/atomisp-ov2680.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c index 9ac469878eea..5ba4c52a06a2 100644 --- a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c +++ b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c @@ -864,9 +864,11 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd, /* s_power has not been called yet for std v4l2 clients (camorama) */ power_up(sd); ret = ov2680_write_reg_array(client, dev->res->regs); - if (ret) + if (ret) { dev_err(&client->dev, "ov2680 write resolution register err: %d\n", ret); + goto err; + } vts = dev->res->lines_per_frame; @@ -875,8 +877,10 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd, vts = dev->exposure + OV2680_INTEGRATION_TIME_MARGIN; ret = ov2680_write_reg(client, 2, OV2680_TIMING_VTS_H, vts); - if (ret) + if (ret) { dev_err(&client->dev, "ov2680 write vts err: %d\n", ret); + goto err; + } ret = ov2680_get_intg_factor(client, ov2680_info, res); if (ret) { |