V4L/DVB (10680): gspca - zc3xx: Bad probe of the ov7xxx sensors.

This patch fixes one bug of the kernel bug report 12737.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Jean-Francois Moine 2009-02-19 15:38:31 -03:00 committed by Mauro Carvalho Chehab
parent 8d97770a68
commit 603538a085
1 changed files with 3 additions and 10 deletions

View File

@ -6987,7 +6987,7 @@ static int vga_3wr_probe(struct gspca_dev *gspca_dev)
static int zcxx_probeSensor(struct gspca_dev *gspca_dev) static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
int sensor, sensor2; int sensor;
switch (sd->sensor) { switch (sd->sensor) {
case SENSOR_MC501CB: case SENSOR_MC501CB:
@ -7002,16 +7002,9 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
break; break;
} }
sensor = vga_2wr_probe(gspca_dev); sensor = vga_2wr_probe(gspca_dev);
if (sensor >= 0) { if (sensor >= 0)
if (sensor < 0x7600)
return sensor;
/* next probe is needed for OmniVision ? */
}
sensor2 = vga_3wr_probe(gspca_dev);
if (sensor2 >= 0
&& sensor >= 0)
return sensor; return sensor;
return sensor2; return vga_3wr_probe(gspca_dev);
} }
/* this function is called at probe time */ /* this function is called at probe time */