This change adds checks for register read errors and returns correct error code. Cc: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> --- drivers/media/i2c/ov772x.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/ov772x.c b/drivers/media/i2c/ov772x.c index 283ae2c..c56f910 100644 --- a/drivers/media/i2c/ov772x.c +++ b/drivers/media/i2c/ov772x.c @@ -1169,8 +1169,15 @@ static int ov772x_video_probe(struct ov772x_priv *priv) return ret; /* Check and show product ID and manufacturer ID. */ - pid = ov772x_read(client, PID); - ver = ov772x_read(client, VER); + ret = ov772x_read(client, PID); + if (ret < 0) + return ret; + pid = ret; + + ret = ov772x_read(client, VER); + if (ret < 0) + return ret; + ver = ret; switch (VERSION(pid, ver)) { case OV7720: -- 2.7.4