aboutsummaryrefslogtreecommitdiffstats
path: root/usb.current
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2009-03-11 14:09:49 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-03-11 14:09:49 -0700
commit1c126d3c29611c11088b6ca5ba35379f71a4c716 (patch)
treed51834290066a6b91c90c9bbfd244b5a8e5ed09c /usb.current
parent3e08ba9f88c368d97e948bc692638d12101ec6fd (diff)
downloadpatches-1c126d3c29611c11088b6ca5ba35379f71a4c716.tar.gz
more patches
Diffstat (limited to 'usb.current')
-rw-r--r--usb.current/usb-atm-cxacru-fix-lock-imbalance.patch39
-rw-r--r--usb.current/usb-image-mdc800-fix-lock-imbalance.patch29
-rw-r--r--usb.current/usb-misc-adutux-fix-lock-imbalance.patch41
-rw-r--r--usb.current/usb-misc-vstusb-fix-lock-imbalance.patch29
-rw-r--r--usb.current/usb-option.c-add-zte-622-modem-device.patch37
-rw-r--r--usb.current/usb-usbtmc-add-protocol-1-support.patch28
-rw-r--r--usb.current/usb-wusbcore-wa-xfer-fix-lock-imbalance.patch33
7 files changed, 236 insertions, 0 deletions
diff --git a/usb.current/usb-atm-cxacru-fix-lock-imbalance.patch b/usb.current/usb-atm-cxacru-fix-lock-imbalance.patch
new file mode 100644
index 00000000000000..0fec4a15217854
--- /dev/null
+++ b/usb.current/usb-atm-cxacru-fix-lock-imbalance.patch
@@ -0,0 +1,39 @@
+From jirislaby@gmail.com Wed Mar 11 14:00:49 2009
+From: Jiri Slaby <jirislaby@gmail.com>
+Date: Wed, 11 Mar 2009 21:47:36 +0100
+Subject: USB: atm/cxacru, fix lock imbalance
+To: gregkh@suse.de
+Cc: Jiri Slaby <jirislaby@gmail.com>, Simon Arlott <cxacru@fire.lp0.eu>
+Message-ID: <1236804460-1432-1-git-send-email-jirislaby@gmail.com>
+
+
+We do not hold mutex in one place in cxacru_cm, but unlock it on fail path.
+Fix this.
+
+Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
+Cc: Simon Arlott <cxacru@fire.lp0.eu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/atm/cxacru.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/atm/cxacru.c
++++ b/drivers/usb/atm/cxacru.c
+@@ -485,7 +485,7 @@ static int cxacru_cm(struct cxacru_data
+ usb_err(instance->usbatm, "requested transfer size too large (%d, %d)\n",
+ wbuflen, rbuflen);
+ ret = -ENOMEM;
+- goto fail;
++ goto err;
+ }
+
+ mutex_lock(&instance->cm_serialize);
+@@ -565,6 +565,7 @@ static int cxacru_cm(struct cxacru_data
+ dbg("cm %#x", cm);
+ fail:
+ mutex_unlock(&instance->cm_serialize);
++err:
+ return ret;
+ }
+
diff --git a/usb.current/usb-image-mdc800-fix-lock-imbalance.patch b/usb.current/usb-image-mdc800-fix-lock-imbalance.patch
new file mode 100644
index 00000000000000..91aeaedb08a414
--- /dev/null
+++ b/usb.current/usb-image-mdc800-fix-lock-imbalance.patch
@@ -0,0 +1,29 @@
+From jirislaby@gmail.com Wed Mar 11 14:01:10 2009
+From: Jiri Slaby <jirislaby@gmail.com>
+Date: Wed, 11 Mar 2009 21:47:37 +0100
+Subject: USB: image/mdc800, fix lock imbalance
+To: gregkh@suse.de
+Cc: Jiri Slaby <jirislaby@gmail.com>, Henning Zabel <henning@uni-paderborn.de>
+Message-ID: <1236804460-1432-2-git-send-email-jirislaby@gmail.com>
+
+
+There is an omitted unlock in mdc800_usb_probe's fail path. Add it.
+
+Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
+Cc: Henning Zabel <henning@uni-paderborn.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/image/mdc800.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/image/mdc800.c
++++ b/drivers/usb/image/mdc800.c
+@@ -499,6 +499,7 @@ static int mdc800_usb_probe (struct usb_
+ retval = usb_register_dev(intf, &mdc800_class);
+ if (retval) {
+ dev_err(&intf->dev, "Not able to get a minor for this device.\n");
++ mutex_unlock(&mdc800->io_lock);
+ return -ENODEV;
+ }
+
diff --git a/usb.current/usb-misc-adutux-fix-lock-imbalance.patch b/usb.current/usb-misc-adutux-fix-lock-imbalance.patch
new file mode 100644
index 00000000000000..8f1bdc71ef4a74
--- /dev/null
+++ b/usb.current/usb-misc-adutux-fix-lock-imbalance.patch
@@ -0,0 +1,41 @@
+From jirislaby@gmail.com Wed Mar 11 14:01:28 2009
+From: Jiri Slaby <jirislaby@gmail.com>
+Date: Wed, 11 Mar 2009 21:47:38 +0100
+Subject: USB: misc/adutux, fix lock imbalance
+To: gregkh@suse.de
+Cc: Jiri Slaby <jirislaby@gmail.com>
+Message-ID: <1236804460-1432-3-git-send-email-jirislaby@gmail.com>
+
+
+Don't unlock adutux_mutex when not held.
+
+Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/adutux.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/misc/adutux.c
++++ b/drivers/usb/misc/adutux.c
+@@ -376,7 +376,7 @@ static int adu_release(struct inode *ino
+ if (dev->open_count <= 0) {
+ dbg(1," %s : device not opened", __func__);
+ retval = -ENODEV;
+- goto exit;
++ goto unlock;
+ }
+
+ adu_release_internal(dev);
+@@ -385,9 +385,9 @@ static int adu_release(struct inode *ino
+ if (!dev->open_count) /* ... and we're the last user */
+ adu_delete(dev);
+ }
+-
+-exit:
++unlock:
+ mutex_unlock(&adutux_mutex);
++exit:
+ dbg(2," %s : leave, return value %d", __func__, retval);
+ return retval;
+ }
diff --git a/usb.current/usb-misc-vstusb-fix-lock-imbalance.patch b/usb.current/usb-misc-vstusb-fix-lock-imbalance.patch
new file mode 100644
index 00000000000000..a6dc8dac509ba6
--- /dev/null
+++ b/usb.current/usb-misc-vstusb-fix-lock-imbalance.patch
@@ -0,0 +1,29 @@
+From jirislaby@gmail.com Wed Mar 11 14:01:52 2009
+From: Jiri Slaby <jirislaby@gmail.com>
+Date: Wed, 11 Mar 2009 21:47:39 +0100
+Subject: USB: misc/vstusb, fix lock imbalance
+To: gregkh@suse.de
+Cc: Jiri Slaby <jirislaby@gmail.com>
+Message-ID: <1236804460-1432-4-git-send-email-jirislaby@gmail.com>
+
+
+Make sure we don't leak locked vstdev->lock in vstusb_write. Unlock
+properly on one fail path.
+
+Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/vstusb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/misc/vstusb.c
++++ b/drivers/usb/misc/vstusb.c
+@@ -401,6 +401,7 @@ static ssize_t vstusb_write(struct file
+ }
+
+ if (copy_from_user(buf, buffer, count)) {
++ mutex_unlock(&vstdev->lock);
+ dev_err(&dev->dev, "%s: can't copy_from_user\n", __func__);
+ retval = -EFAULT;
+ goto exit;
diff --git a/usb.current/usb-option.c-add-zte-622-modem-device.patch b/usb.current/usb-option.c-add-zte-622-modem-device.patch
new file mode 100644
index 00000000000000..23911ed4703303
--- /dev/null
+++ b/usb.current/usb-option.c-add-zte-622-modem-device.patch
@@ -0,0 +1,37 @@
+From albert.pauw@gmail.com Wed Mar 11 13:28:39 2009
+From: Albert Pauw <albert.pauw@gmail.com>
+Date: Sun, 01 Mar 2009 09:37:52 +0100
+Subject: USB: option.c: add ZTE 622 modem device
+To: linux-usb@vger.kernel.org
+Message-ID: <49AA4960.8010903@gmail.com>
+
+
+Please consider this small patch for the usb option-card driver.
+This patch adds the ZTE 622 usb modem device.
+
+Signed-off-by: Albert Pauw <albert.pauw@gmail.com>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -288,6 +288,7 @@ static int option_send_setup(struct tty
+
+ /* ZTE PRODUCTS */
+ #define ZTE_VENDOR_ID 0x19d2
++#define ZTE_PRODUCT_MF622 0x0001
+ #define ZTE_PRODUCT_MF628 0x0015
+ #define ZTE_PRODUCT_MF626 0x0031
+ #define ZTE_PRODUCT_CDMA_TECH 0xfffe
+@@ -510,6 +511,7 @@ static struct usb_device_id option_ids[]
+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
+ { USB_DEVICE(MAXON_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
++ { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622) },
+ { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626) },
+ { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628) },
+ { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH) },
diff --git a/usb.current/usb-usbtmc-add-protocol-1-support.patch b/usb.current/usb-usbtmc-add-protocol-1-support.patch
new file mode 100644
index 00000000000000..f25db3b64d1a21
--- /dev/null
+++ b/usb.current/usb-usbtmc-add-protocol-1-support.patch
@@ -0,0 +1,28 @@
+From foo@baz Wed Mar 11 13:51:42 PDT 2009
+Date: Wed, 11 Mar 2009 13:51:42 -0700
+To: Greg KH <greg@kroah.com>
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Subject: USB: usbtmc: add protocol 1 support
+
+The driver already supports the 1 protocol support, so just add it to
+the MODULE_DEVICE_TABLE entry so it properly picks up these devices.
+
+Thanks to Jouni Rynö for pointing this out.
+
+Reported-by: Jouni Ryno <Jouni.Ryno@fmi.fi>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/class/usbtmc.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/class/usbtmc.c
++++ b/drivers/usb/class/usbtmc.c
+@@ -50,6 +50,7 @@
+
+ static struct usb_device_id usbtmc_devices[] = {
+ { USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 0), },
++ { USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 1), },
+ { 0, } /* terminating entry */
+ };
+ MODULE_DEVICE_TABLE(usb, usbtmc_devices);
diff --git a/usb.current/usb-wusbcore-wa-xfer-fix-lock-imbalance.patch b/usb.current/usb-wusbcore-wa-xfer-fix-lock-imbalance.patch
new file mode 100644
index 00000000000000..b8e0b4466f4c3f
--- /dev/null
+++ b/usb.current/usb-wusbcore-wa-xfer-fix-lock-imbalance.patch
@@ -0,0 +1,33 @@
+From jirislaby@gmail.com Wed Mar 11 14:02:08 2009
+From: Jiri Slaby <jirislaby@gmail.com>
+Date: Wed, 11 Mar 2009 21:47:40 +0100
+Subject: USB: wusbcore/wa-xfer, fix lock imbalance
+To: gregkh@suse.de
+Cc: Jiri Slaby <jirislaby@gmail.com>, Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
+Message-ID: <1236804460-1432-5-git-send-email-jirislaby@gmail.com>
+
+
+Fix locking on one wa_urb_enqueue_b's fail path. There was omitted unlock.
+
+Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
+Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/wusbcore/wa-xfer.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/wusbcore/wa-xfer.c
++++ b/drivers/usb/wusbcore/wa-xfer.c
+@@ -921,8 +921,10 @@ static void wa_urb_enqueue_b(struct wa_x
+ result = -ENODEV;
+ /* FIXME: segmentation broken -- kills DWA */
+ mutex_lock(&wusbhc->mutex); /* get a WUSB dev */
+- if (urb->dev == NULL)
++ if (urb->dev == NULL) {
++ mutex_unlock(&wusbhc->mutex);
+ goto error_dev_gone;
++ }
+ wusb_dev = __wusb_dev_get_by_usb_dev(wusbhc, urb->dev);
+ if (wusb_dev == NULL) {
+ mutex_unlock(&wusbhc->mutex);