[PATCH] USB: ZC0301 driver bugfix

ZC0301 driver bugfix.

Use correct PID/VID USB entries.

Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Luca Risolia 2006-03-03 09:58:39 +00:00 committed by Greg Kroah-Hartman
parent 2e56222ed5
commit 6e0755a4b2
4 changed files with 16 additions and 19 deletions

View File

@ -201,14 +201,14 @@ devices mounting the ZC0301 Image Processor and Control Chips:
Vendor ID Product ID
--------- ----------
0x10fd 0x8050
0x041e 0x0417
0x041e 0x041e
0x041e 0x081c
0x041e 0x0834
0x041e 0x0835
0x041e 0x4017
0x041e 0x401c
0x041e 0x401e
0x041e 0x4034
0x041e 0x4035
0x046d 0x08ae
0x0ac8 0x0301
0x10fd 0x8050
The list above does not imply that all those devices work with this driver: up
until now only the ones that mount the following image sensors are supported;

View File

@ -134,10 +134,7 @@ struct zc0301_device {
struct zc0301_device*
zc0301_match_id(struct zc0301_device* cam, const struct usb_device_id *id)
{
if (usb_match_id(usb_ifnum_to_if(cam->usbdev, 0), id))
return cam;
return NULL;
return usb_match_id(usb_ifnum_to_if(cam->usbdev, 0), id) ? cam : NULL;
}
void

View File

@ -52,8 +52,8 @@
#define ZC0301_MODULE_AUTHOR "(C) 2006 Luca Risolia"
#define ZC0301_AUTHOR_EMAIL "<luca.risolia@studio.unibo.it>"
#define ZC0301_MODULE_LICENSE "GPL"
#define ZC0301_MODULE_VERSION "1:1.02"
#define ZC0301_MODULE_VERSION_CODE KERNEL_VERSION(1, 0, 2)
#define ZC0301_MODULE_VERSION "1:1.03"
#define ZC0301_MODULE_VERSION_CODE KERNEL_VERSION(1, 0, 3)
/*****************************************************************************/
@ -637,7 +637,6 @@ static void zc0301_release_resources(struct zc0301_device* cam)
DBG(2, "V4L2 device /dev/video%d deregistered", cam->v4ldev->minor);
video_set_drvdata(cam->v4ldev, NULL);
video_unregister_device(cam->v4ldev);
usb_put_dev(cam->usbdev);
kfree(cam->control_buffer);
}
@ -727,6 +726,7 @@ static int zc0301_release(struct inode* inode, struct file* filp)
if (cam->state & DEV_DISCONNECTED) {
zc0301_release_resources(cam);
usb_put_dev(cam->usbdev);
mutex_unlock(&cam->dev_mutex);
kfree(cam);
return 0;

View File

@ -58,14 +58,14 @@ zc0301_attach_sensor(struct zc0301_device* cam, struct zc0301_sensor* sensor);
#define ZC0301_ID_TABLE \
static const struct usb_device_id zc0301_id_table[] = { \
{ ZC0301_USB_DEVICE(0x10fd, 0x8050, 0xff), }, /* TAS5130D */ \
{ ZC0301_USB_DEVICE(0x041e, 0x0417, 0xff), }, \
{ ZC0301_USB_DEVICE(0x041e, 0x041e, 0xff), }, /* HV7131B */ \
{ ZC0301_USB_DEVICE(0x041e, 0x081c, 0xff), }, /* PAS106 */ \
{ ZC0301_USB_DEVICE(0x041e, 0x0834, 0xff), }, /* PAS106 */ \
{ ZC0301_USB_DEVICE(0x041e, 0x0835, 0xff), }, /* PAS106 */ \
{ ZC0301_USB_DEVICE(0x041e, 0x4017, 0xff), }, \
{ ZC0301_USB_DEVICE(0x041e, 0x401c, 0xff), }, /* PAS106 */ \
{ ZC0301_USB_DEVICE(0x041e, 0x401e, 0xff), }, /* HV7131B */ \
{ ZC0301_USB_DEVICE(0x041e, 0x4034, 0xff), }, /* PAS106 */ \
{ ZC0301_USB_DEVICE(0x041e, 0x4035, 0xff), }, /* PAS106 */ \
{ ZC0301_USB_DEVICE(0x046d, 0x08ae, 0xff), }, /* PAS202BCB */ \
{ ZC0301_USB_DEVICE(0x0ac8, 0x0301, 0xff), }, \
{ ZC0301_USB_DEVICE(0x10fd, 0x8050, 0xff), }, /* TAS5130D */ \
{ } \
};