[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 4ac7889..64b3b03 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)