aboutsummaryrefslogtreecommitdiffstats
path: root/usb
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-03-14 11:20:14 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-14 11:20:14 -0800
commitac63f62557c52e30e4b8882e47ca97a5a780896b (patch)
treeb26e8db07fb8f9d04092212a6467b634e9cd69aa /usb
parent1bce3d7a9fb6937d92c060656c0345a8de1f9015 (diff)
downloadpatches-ac63f62557c52e30e4b8882e47ca97a5a780896b.tar.gz
another usb patch
Diffstat (limited to 'usb')
-rw-r--r--usb/usb-zc0301-driver-bugfix.patch111
1 files changed, 111 insertions, 0 deletions
diff --git a/usb/usb-zc0301-driver-bugfix.patch b/usb/usb-zc0301-driver-bugfix.patch
new file mode 100644
index 0000000000000..4879273b81f06
--- /dev/null
+++ b/usb/usb-zc0301-driver-bugfix.patch
@@ -0,0 +1,111 @@
+From luca.risolia@studio.unibo.it Fri Mar 3 00:56:06 2006
+Date: Fri, 3 Mar 2006 09:58:39 +0000
+From: Luca Risolia <luca.risolia@studio.unibo.it>
+To: Greg Kroah-Hartman <gregkh@suse.de>
+Subject: USB: ZC0301 driver bugfix
+Message-ID: <20060303095839.GA3857@studio.unibo.it>
+Content-Disposition: inline
+
+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>
+
+---
+ Documentation/usb/zc0301.txt | 12 ++++++------
+ drivers/usb/media/zc0301.h | 5 +----
+ drivers/usb/media/zc0301_core.c | 6 +++---
+ drivers/usb/media/zc0301_sensor.h | 12 ++++++------
+ 4 files changed, 16 insertions(+), 19 deletions(-)
+
+--- gregkh-2.6.orig/Documentation/usb/zc0301.txt
++++ gregkh-2.6/Documentation/usb/zc0301.txt
+@@ -201,14 +201,14 @@ devices mounting the ZC0301 Image Proces
+
+ 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;
+--- gregkh-2.6.orig/drivers/usb/media/zc0301.h
++++ gregkh-2.6/drivers/usb/media/zc0301.h
+@@ -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
+--- gregkh-2.6.orig/drivers/usb/media/zc0301_core.c
++++ gregkh-2.6/drivers/usb/media/zc0301_core.c
+@@ -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(str
+ 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*
+
+ if (cam->state & DEV_DISCONNECTED) {
+ zc0301_release_resources(cam);
++ usb_put_dev(cam->usbdev);
+ mutex_unlock(&cam->dev_mutex);
+ kfree(cam);
+ return 0;
+--- gregkh-2.6.orig/drivers/usb/media/zc0301_sensor.h
++++ gregkh-2.6/drivers/usb/media/zc0301_sensor.h
+@@ -58,14 +58,14 @@ zc0301_attach_sensor(struct zc0301_devic
+
+ #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 */ \
+ { } \
+ };
+