[media] m5602_ov7660: return error at ov7660_init()
authorMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 22 Mar 2013 09:51:06 +0000 (06:51 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 22 Mar 2013 12:46:48 +0000 (09:46 -0300)
It used to be a code that returns arror at ov7660_init.
However, this was removed by changeset c84e412f:

@@ -231,33 +116,40 @@ int ov7660_init(struct sd *sd)
        if (dump_sensor)
                ov7660_dump_registers(sd);

-   err = ov7660_set_gain(&sd->gspca_dev, sensor_settings[GAIN_IDX]);
-   if (err < 0)
-           return err;
+ return 0;
+}

-   err = ov7660_set_auto_white_balance(&sd->gspca_dev,
-           sensor_settings[AUTO_WHITE_BALANCE_IDX]);
-   if (err < 0)
-           return err;

As complained by gcc:
drivers/media/usb/gspca/m5602/m5602_ov7660.c: In function 'ov7660_init':
drivers/media/usb/gspca/m5602/m5602_ov7660.c:99:9: warning: variable 'err' set but not used [-Wunused-but-set-variable]

It should be noticed that the original error code was crappy, as it wasn't
returning any error if sensor init fails.

Fix it by returning an error if the sensor can't be initialized.

Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/usb/gspca/m5602/m5602_ov7660.c

index 4ac78893cc5fc2d1a6fa89a039c2ea2505297dc2..64b3b03a91416236efc84f1c98d61232ba345894 100644 (file)
@@ -96,7 +96,7 @@ sensor_found:
 
 int ov7660_init(struct sd *sd)
 {
-       int i, err = 0;
+       int i, err;
 
        /* Init the sensor */
        for (i = 0; i < ARRAY_SIZE(init_ov7660); i++) {
@@ -111,6 +111,8 @@ int ov7660_init(struct sd *sd)
                        err = m5602_write_sensor(sd,
                                init_ov7660[i][1], data, 1);
                }
+               if (err < 0)
+                       return err;
        }
 
        if (dump_sensor)