Make sure that if the expected sensor device id register
is not recognized properly the failure is propagated
up so devices are not left partially initialized.

Signed-off-by: Benoit Parrot <bpar...@ti.com>
Signed-off-by: Jyri Sarha <jsa...@ti.com>
---
 drivers/media/i2c/ov2659.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/media/i2c/ov2659.c b/drivers/media/i2c/ov2659.c
index 17573257097d..efbe6dc720e2 100644
--- a/drivers/media/i2c/ov2659.c
+++ b/drivers/media/i2c/ov2659.c
@@ -1330,11 +1330,12 @@ static int ov2659_detect(struct v4l2_subdev *sd)
                unsigned short id;
 
                id = OV265X_ID(pid, ver);
-               if (id != OV2659_ID)
+               if (id != OV2659_ID) {
                        dev_err(&client->dev,
                                "Sensor detection failed (%04X, %d)\n",
                                id, ret);
-               else {
+                       ret = -ENODEV;
+               } else {
                        dev_info(&client->dev, "Found OV%04X sensor\n", id);
                        ret = ov2659_init(sd, 0);
                }
-- 
2.17.1

Reply via email to