aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHans de Goede <j.w.r.degoede@hhs.nl>2008-09-03 15:47:28 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-09-03 17:36:32 -0400
commit3466234229e6535a061f5f63a87bfb12c833d96a (patch)
tree5828785837d25c7e1f328d3e8f917246634220e0 /drivers
parent8559e8da31f37e2916195f44bbe79a61008782df (diff)
V4L/DVB (8667): gspca: Bad probe of Z-Star/Vimicro webcams with pas106 sensor.
This patch moves the detection of the 2wr SIF pas106b sensor to before detecting other sensors. Patch change by jfm: Check SIF for identified webcams only. Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/gspca/zc3xx.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c
index bc7d0eedcd81..d36f4d7d22b7 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -6964,8 +6964,13 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
6964 case SENSOR_MC501CB: 6964 case SENSOR_MC501CB:
6965 return -1; /* don't probe */ 6965 return -1; /* don't probe */
6966 case SENSOR_TAS5130C_VF0250: 6966 case SENSOR_TAS5130C_VF0250:
6967 /* may probe but with write in reg 0x0010 */ 6967 /* may probe but with no write in reg 0x0010 */
6968 return -1; /* don't probe */ 6968 return -1; /* don't probe */
6969 case SENSOR_PAS106:
6970 sensor = sif_probe(gspca_dev);
6971 if (sensor >= 0)
6972 return sensor;
6973 break;
6969 } 6974 }
6970 sensor = vga_2wr_probe(gspca_dev); 6975 sensor = vga_2wr_probe(gspca_dev);
6971 if (sensor >= 0) { 6976 if (sensor >= 0) {
@@ -6974,12 +6979,10 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
6974 /* next probe is needed for OmniVision ? */ 6979 /* next probe is needed for OmniVision ? */
6975 } 6980 }
6976 sensor2 = vga_3wr_probe(gspca_dev); 6981 sensor2 = vga_3wr_probe(gspca_dev);
6977 if (sensor2 >= 0) { 6982 if (sensor2 >= 0
6978 if (sensor >= 0) 6983 && sensor >= 0)
6979 return sensor; 6984 return sensor;
6980 return sensor2; 6985 return sensor2;
6981 }
6982 return sif_probe(gspca_dev);
6983} 6986}
6984 6987
6985/* this function is called at probe time */ 6988/* this function is called at probe time */
@@ -7502,14 +7505,14 @@ static const __devinitdata struct usb_device_id device_table[] = {
7502 {USB_DEVICE(0x041e, 0x041e)}, 7505 {USB_DEVICE(0x041e, 0x041e)},
7503#ifndef CONFIG_USB_ZC0301 7506#ifndef CONFIG_USB_ZC0301
7504 {USB_DEVICE(0x041e, 0x4017)}, 7507 {USB_DEVICE(0x041e, 0x4017)},
7505 {USB_DEVICE(0x041e, 0x401c)}, 7508 {USB_DEVICE(0x041e, 0x401c), .driver_info = SENSOR_PAS106},
7506 {USB_DEVICE(0x041e, 0x401e)}, 7509 {USB_DEVICE(0x041e, 0x401e)},
7507 {USB_DEVICE(0x041e, 0x401f)}, 7510 {USB_DEVICE(0x041e, 0x401f)},
7508#endif 7511#endif
7509 {USB_DEVICE(0x041e, 0x4029)}, 7512 {USB_DEVICE(0x041e, 0x4029)},
7510#ifndef CONFIG_USB_ZC0301 7513#ifndef CONFIG_USB_ZC0301
7511 {USB_DEVICE(0x041e, 0x4034)}, 7514 {USB_DEVICE(0x041e, 0x4034), .driver_info = SENSOR_PAS106},
7512 {USB_DEVICE(0x041e, 0x4035)}, 7515 {USB_DEVICE(0x041e, 0x4035), .driver_info = SENSOR_PAS106},
7513 {USB_DEVICE(0x041e, 0x4036)}, 7516 {USB_DEVICE(0x041e, 0x4036)},
7514 {USB_DEVICE(0x041e, 0x403a)}, 7517 {USB_DEVICE(0x041e, 0x403a)},
7515#endif 7518#endif
@@ -7541,10 +7544,10 @@ static const __devinitdata struct usb_device_id device_table[] = {
7541 {USB_DEVICE(0x046d, 0x08d8)}, 7544 {USB_DEVICE(0x046d, 0x08d8)},
7542 {USB_DEVICE(0x046d, 0x08da)}, 7545 {USB_DEVICE(0x046d, 0x08da)},
7543 {USB_DEVICE(0x046d, 0x08dd), .driver_info = SENSOR_MC501CB}, 7546 {USB_DEVICE(0x046d, 0x08dd), .driver_info = SENSOR_MC501CB},
7544 {USB_DEVICE(0x0471, 0x0325)}, 7547 {USB_DEVICE(0x0471, 0x0325), .driver_info = SENSOR_PAS106},
7545 {USB_DEVICE(0x0471, 0x0326)}, 7548 {USB_DEVICE(0x0471, 0x0326), .driver_info = SENSOR_PAS106},
7546 {USB_DEVICE(0x0471, 0x032d)}, 7549 {USB_DEVICE(0x0471, 0x032d), .driver_info = SENSOR_PAS106},
7547 {USB_DEVICE(0x0471, 0x032e)}, 7550 {USB_DEVICE(0x0471, 0x032e), .driver_info = SENSOR_PAS106},
7548 {USB_DEVICE(0x055f, 0xc005)}, 7551 {USB_DEVICE(0x055f, 0xc005)},
7549#ifndef CONFIG_USB_ZC0301 7552#ifndef CONFIG_USB_ZC0301
7550 {USB_DEVICE(0x055f, 0xd003)}, 7553 {USB_DEVICE(0x055f, 0xd003)},