aboutsummaryrefslogtreecommitdiffstats
path: root/usb.current
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2010-03-15 15:42:02 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-15 15:42:02 -0700
commit6eeb80e6fc8b2556be10ed0dd7d9104774aa7613 (patch)
treebd0e2e8b7b160dd638381dcfe3fbc4b0c72108fa /usb.current
parent8cd954e9929a6cd5e42f25d91ce1e3e0a6365084 (diff)
downloadpatches-6eeb80e6fc8b2556be10ed0dd7d9104774aa7613.tar.gz
more bugfixes
Diffstat (limited to 'usb.current')
-rw-r--r--usb.current/usb-fix-documentation-for-avoid_reset_quirk.patch31
-rw-r--r--usb.current/usb-gadget-fix-compile-error-on-r8a66597-udc.c.patch27
-rw-r--r--usb.current/usb-musb-abstract-out-ulpi_buscontrol-register-reads-writes.patch99
-rw-r--r--usb.current/usb-musb-core-declare-mbase-only-where-it-s-used.patch64
-rw-r--r--usb.current/usb-musb-fix-build-error-introduced-by-isoc-change.patch37
-rw-r--r--usb.current/usb-musb-fix-compile-error-for-omaps-for-musb_hdrc.patch51
-rw-r--r--usb.current/usb-musb-fix-warnings-in-blackfin-regs.patch75
-rw-r--r--usb.current/usb-option-add-support-for-a-new-cmotech-device-to-usb-serial-option.patch34
-rw-r--r--usb.current/usb-option-fix-incorrect-manufacturer-name-in-usb-serial-option-maxon-cmotech.patch36
-rw-r--r--usb.current/usb-option-move-hardcoded-pid-to-a-macro-in-usb-serial-option.patch35
-rw-r--r--usb.current/usb-qcserial-add-new-device-ids.patch56
-rw-r--r--usb.current/usb-serial-ftdi-add-contec-vendor-and-product-id.patch53
-rw-r--r--usb.current/usb-xhci-re-initialize-cmd_completion.patch34
13 files changed, 632 insertions, 0 deletions
diff --git a/usb.current/usb-fix-documentation-for-avoid_reset_quirk.patch b/usb.current/usb-fix-documentation-for-avoid_reset_quirk.patch
new file mode 100644
index 00000000000000..c952bcdef5b1b9
--- /dev/null
+++ b/usb.current/usb-fix-documentation-for-avoid_reset_quirk.patch
@@ -0,0 +1,31 @@
+From oliver@neukum.org Mon Mar 15 15:21:04 2010
+From: Oliver Neukum <oliver@neukum.org>
+Date: Fri, 12 Mar 2010 11:27:21 +0100
+Subject: USB: Fix documentation for avoid_reset_quirk
+To: Greg KH <greg@kroah.com>
+Cc: Josua Dietze <digidietze@draisberghof.de>
+Message-ID: <201003121127.21352.oliver@neukum.org>
+
+
+From: Oliver Neukum <oliver@neukum.org>
+
+The name used in the documentation doesn't match reality.
+
+Signed-off-by: Oliver Neukum <neukum@b1-systems.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/ABI/testing/sysfs-bus-usb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Documentation/ABI/testing/sysfs-bus-usb
++++ b/Documentation/ABI/testing/sysfs-bus-usb
+@@ -160,7 +160,7 @@ Description:
+ match the driver to the device. For example:
+ # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
+
+-What: /sys/bus/usb/device/.../avoid_reset
++What: /sys/bus/usb/device/.../avoid_reset_quirk
+ Date: December 2009
+ Contact: Oliver Neukum <oliver@neukum.org>
+ Description:
diff --git a/usb.current/usb-gadget-fix-compile-error-on-r8a66597-udc.c.patch b/usb.current/usb-gadget-fix-compile-error-on-r8a66597-udc.c.patch
new file mode 100644
index 00000000000000..49ba6793b30ada
--- /dev/null
+++ b/usb.current/usb-gadget-fix-compile-error-on-r8a66597-udc.c.patch
@@ -0,0 +1,27 @@
+From grant.likely@secretlab.ca Mon Mar 15 15:22:35 2010
+From: Grant Likely <grant.likely@secretlab.ca>
+Date: Thu, 11 Mar 2010 15:06:54 -0700
+Subject: usb/gadget: fix compile error on r8a66597-udc.c
+To: gregkh@suse.de, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
+Message-ID: <20100311220631.19163.98586.stgit@angua>
+
+
+C file uses IS_ERR and PTR_ERR, but doesn't include <linux/err.h>
+
+Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/r8a66597-udc.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/gadget/r8a66597-udc.c
++++ b/drivers/usb/gadget/r8a66597-udc.c
+@@ -23,6 +23,7 @@
+ #include <linux/module.h>
+ #include <linux/interrupt.h>
+ #include <linux/delay.h>
++#include <linux/err.h>
+ #include <linux/io.h>
+ #include <linux/platform_device.h>
+ #include <linux/clk.h>
diff --git a/usb.current/usb-musb-abstract-out-ulpi_buscontrol-register-reads-writes.patch b/usb.current/usb-musb-abstract-out-ulpi_buscontrol-register-reads-writes.patch
new file mode 100644
index 00000000000000..2dc688949356fa
--- /dev/null
+++ b/usb.current/usb-musb-abstract-out-ulpi_buscontrol-register-reads-writes.patch
@@ -0,0 +1,99 @@
+From felipe.balbi@nokia.com Mon Mar 15 15:28:10 2010
+From: Felipe Balbi <felipe.balbi@nokia.com>
+Date: Fri, 12 Mar 2010 10:27:21 +0200
+Subject: usb: musb: abstract out ULPI_BUSCONTROL register reads/writes
+To: Greg KH <greg@kroah.com>
+Cc: Mike Frysinger <vapier@gentoo.org>, Felipe Balbi <felipe.balbi@nokia.com>
+Message-ID: <1268382444-7340-3-git-send-email-felipe.balbi@nokia.com>
+
+
+From: Mike Frysinger <vapier@gentoo.org>
+
+The USB PHY on current Blackfin processors is a UTMI+ level 2 PHY.
+However, it has no ULPI support - so there are no registers at all.
+That means accesses to ULPI_BUSCONTROL have to be abstracted away
+like other MUSB registers.
+
+This fixes building for Blackfin parts again.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+Acked-by: Anand Gadiyar <gadiyar@ti.com>
+Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.c | 5 ++---
+ drivers/usb/musb/musb_regs.h | 19 +++++++++++++++++++
+ 2 files changed, 21 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -2007,7 +2007,6 @@ bad_config:
+ /* host side needs more setup */
+ if (is_host_enabled(musb)) {
+ struct usb_hcd *hcd = musb_to_hcd(musb);
+- u8 busctl;
+
+ otg_set_host(musb->xceiv, &hcd->self);
+
+@@ -2018,9 +2017,9 @@ bad_config:
+
+ /* program PHY to use external vBus if required */
+ if (plat->extvbus) {
+- busctl = musb_readb(musb->mregs, MUSB_ULPI_BUSCONTROL);
++ u8 busctl = musb_read_ulpi_buscontrol(musb->mregs);
+ busctl |= MUSB_ULPI_USE_EXTVBUS;
+- musb_writeb(musb->mregs, MUSB_ULPI_BUSCONTROL, busctl);
++ musb_write_ulpi_buscontrol(musb->mregs, busctl);
+ }
+ }
+
+--- a/drivers/usb/musb/musb_regs.h
++++ b/drivers/usb/musb/musb_regs.h
+@@ -326,6 +326,11 @@ static inline void musb_write_rxfifoadd
+ musb_writew(mbase, MUSB_RXFIFOADD, c_off);
+ }
+
++static inline void musb_write_ulpi_buscontrol(void __iomem *mbase, u8 val)
++{
++ musb_writeb(mbase, MUSB_ULPI_BUSCONTROL, val);
++}
++
+ static inline u8 musb_read_txfifosz(void __iomem *mbase)
+ {
+ return musb_readb(mbase, MUSB_TXFIFOSZ);
+@@ -346,6 +351,11 @@ static inline u16 musb_read_rxfifoadd(v
+ return musb_readw(mbase, MUSB_RXFIFOADD);
+ }
+
++static inline u8 musb_read_ulpi_buscontrol(void __iomem *mbase)
++{
++ return musb_readb(mbase, MUSB_ULPI_BUSCONTROL);
++}
++
+ static inline u8 musb_read_configdata(void __iomem *mbase)
+ {
+ musb_writeb(mbase, MUSB_INDEX, 0);
+@@ -510,6 +520,10 @@ static inline void musb_write_rxfifoadd
+ {
+ }
+
++static inline void musb_write_ulpi_buscontrol(void __iomem *mbase, u8 val)
++{
++}
++
+ static inline u8 musb_read_txfifosz(void __iomem *mbase)
+ {
+ }
+@@ -526,6 +540,11 @@ static inline u16 musb_read_rxfifoadd(v
+ {
+ }
+
++static inline u8 musb_read_ulpi_buscontrol(void __iomem *mbase)
++{
++ return 0;
++}
++
+ static inline u8 musb_read_configdata(void __iomem *mbase)
+ {
+ return 0;
diff --git a/usb.current/usb-musb-core-declare-mbase-only-where-it-s-used.patch b/usb.current/usb-musb-core-declare-mbase-only-where-it-s-used.patch
new file mode 100644
index 00000000000000..5c88ff6cb5f3c6
--- /dev/null
+++ b/usb.current/usb-musb-core-declare-mbase-only-where-it-s-used.patch
@@ -0,0 +1,64 @@
+From felipe.balbi@nokia.com Mon Mar 15 15:29:06 2010
+From: Felipe Balbi <felipe.balbi@nokia.com>
+Date: Fri, 12 Mar 2010 10:27:24 +0200
+Subject: usb: musb: core: declare mbase only where it's used
+To: Greg KH <greg@kroah.com>
+Cc: Felipe Balbi <felipe.balbi@nokia.com>
+Message-ID: <1268382444-7340-6-git-send-email-felipe.balbi@nokia.com>
+
+
+... and avoid a compilation if we disable host side
+of musb.
+
+Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -379,7 +379,6 @@ static irqreturn_t musb_stage0_irq(struc
+ u8 devctl, u8 power)
+ {
+ irqreturn_t handled = IRQ_NONE;
+- void __iomem *mbase = musb->mregs;
+
+ DBG(3, "<== Power=%02x, DevCtl=%02x, int_usb=0x%x\n", power, devctl,
+ int_usb);
+@@ -394,6 +393,8 @@ static irqreturn_t musb_stage0_irq(struc
+
+ if (devctl & MUSB_DEVCTL_HM) {
+ #ifdef CONFIG_USB_MUSB_HDRC_HCD
++ void __iomem *mbase = musb->mregs;
++
+ switch (musb->xceiv->state) {
+ case OTG_STATE_A_SUSPEND:
+ /* remote wakeup? later, GetPortStatus
+@@ -471,6 +472,8 @@ static irqreturn_t musb_stage0_irq(struc
+ #ifdef CONFIG_USB_MUSB_HDRC_HCD
+ /* see manual for the order of the tests */
+ if (int_usb & MUSB_INTR_SESSREQ) {
++ void __iomem *mbase = musb->mregs;
++
+ DBG(1, "SESSION_REQUEST (%s)\n", otg_state_string(musb));
+
+ /* IRQ arrives from ID pin sense or (later, if VBUS power
+@@ -519,6 +522,8 @@ static irqreturn_t musb_stage0_irq(struc
+ case OTG_STATE_A_WAIT_BCON:
+ case OTG_STATE_A_WAIT_VRISE:
+ if (musb->vbuserr_retry) {
++ void __iomem *mbase = musb->mregs;
++
+ musb->vbuserr_retry--;
+ ignore = 1;
+ devctl |= MUSB_DEVCTL_SESSION;
+@@ -622,6 +627,7 @@ static irqreturn_t musb_stage0_irq(struc
+
+ if (int_usb & MUSB_INTR_CONNECT) {
+ struct usb_hcd *hcd = musb_to_hcd(musb);
++ void __iomem *mbase = musb->mregs;
+
+ handled = IRQ_HANDLED;
+ musb->is_active = 1;
diff --git a/usb.current/usb-musb-fix-build-error-introduced-by-isoc-change.patch b/usb.current/usb-musb-fix-build-error-introduced-by-isoc-change.patch
new file mode 100644
index 00000000000000..5f9ffec10c2083
--- /dev/null
+++ b/usb.current/usb-musb-fix-build-error-introduced-by-isoc-change.patch
@@ -0,0 +1,37 @@
+From vapier@gentoo.org Mon Mar 15 15:09:13 2010
+From: Sonic Zhang <sonic.zhang@analog.com>
+Date: Mon, 8 Mar 2010 11:26:01 -0500
+Subject: USB: musb: fix build error introduced by isoc change
+To: linux-usb@vger.kernel.org, Felipe Balbi <felipe.balbi@nokia.com>
+Cc: stable@kernel.org, stable-review@kernel.org, linux-kernel@vger.kernel.org, Sonic Zhang <sonic.zhang@analog.com>
+Message-ID: <1268065561-24350-1-git-send-email-vapier@gentoo.org>
+
+
+From: Sonic Zhang <sonic.zhang@analog.com>
+
+The recent commit "usb: musb: Fix for isochronous IN transfer" (f82a689fa)
+seems to have been against an older kernel version. It uses the old style
+naming of variables. Unfortunately, this breaks building for most MUSB
+users out there since "bDesiredMode" has been renamed to "desired_mode".
+
+Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Acked-by: Anand Gadiyar <gadiyar@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_host.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/musb/musb_host.c
++++ b/drivers/usb/musb/musb_host.c
+@@ -1689,7 +1689,7 @@ void musb_host_rx(struct musb *musb, u8
+ dma->desired_mode = 1;
+ if (rx_count < hw_ep->max_packet_sz_rx) {
+ length = rx_count;
+- dma->bDesiredMode = 0;
++ dma->desired_mode = 0;
+ } else {
+ length = urb->transfer_buffer_length;
+ }
diff --git a/usb.current/usb-musb-fix-compile-error-for-omaps-for-musb_hdrc.patch b/usb.current/usb-musb-fix-compile-error-for-omaps-for-musb_hdrc.patch
new file mode 100644
index 00000000000000..d473bcfea0bb3c
--- /dev/null
+++ b/usb.current/usb-musb-fix-compile-error-for-omaps-for-musb_hdrc.patch
@@ -0,0 +1,51 @@
+From felipe.balbi@nokia.com Mon Mar 15 15:26:51 2010
+From: Felipe Balbi <felipe.balbi@nokia.com>
+Date: Fri, 12 Mar 2010 10:35:20 +0200
+Subject: usb: musb: Fix compile error for omaps for musb_hdrc
+To: Greg KH <greg@kroah.com>
+Cc: Tony Lindgren <tony@atomide.com>, Felipe Balbi <felipe.balbi@nokia.com>
+Message-ID: <1268382920-10786-1-git-send-email-felipe.balbi@nokia.com>
+
+
+From: Tony Lindgren <tony@atomide.com>
+
+CONFIG_ARCH_OMAP34XX is now CONFIG_ARCH_OMAP3.
+
+But since drivers/usb/musb/omap2430.c use CONFIG_PM for these
+registers and functions, do the same for the header.
+
+Otherwise we get the following for most omap3 defconfigs:
+
+drivers/usb/musb/omap2430.c:261: error: expected identifier or '(' before 'do'
+drivers/usb/musb/omap2430.c:261: error: expected identifier or '(' before 'while'
+drivers/usb/musb/omap2430.c:268: error: expected identifier or '(' before 'do'
+drivers/usb/musb/omap2430.c:268: error: expected identifier or '(' before 'while'
+
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/musb/musb_core.h
++++ b/drivers/usb/musb/musb_core.h
+@@ -469,7 +469,7 @@ struct musb_csr_regs {
+
+ struct musb_context_registers {
+
+-#if defined(CONFIG_ARCH_OMAP34XX) || defined(CONFIG_ARCH_OMAP2430)
++#ifdef CONFIG_PM
+ u32 otg_sysconfig, otg_forcestandby;
+ #endif
+ u8 power;
+@@ -483,7 +483,7 @@ struct musb_context_registers {
+ struct musb_csr_regs index_regs[MUSB_C_NUM_EPS];
+ };
+
+-#if defined(CONFIG_ARCH_OMAP34XX) || defined(CONFIG_ARCH_OMAP2430)
++#ifdef CONFIG_PM
+ extern void musb_platform_save_context(struct musb *musb,
+ struct musb_context_registers *musb_context);
+ extern void musb_platform_restore_context(struct musb *musb,
diff --git a/usb.current/usb-musb-fix-warnings-in-blackfin-regs.patch b/usb.current/usb-musb-fix-warnings-in-blackfin-regs.patch
new file mode 100644
index 00000000000000..2f82a94c04a298
--- /dev/null
+++ b/usb.current/usb-musb-fix-warnings-in-blackfin-regs.patch
@@ -0,0 +1,75 @@
+From felipe.balbi@nokia.com Mon Mar 15 15:28:47 2010
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 12 Mar 2010 10:27:23 +0200
+Subject: USB: musb: fix warnings in Blackfin regs
+To: Greg KH <greg@kroah.com>
+Cc: Mike Frysinger <vapier@gentoo.org>, Felipe Balbi <felipe.balbi@nokia.com>
+Message-ID: <1268382444-7340-5-git-send-email-felipe.balbi@nokia.com>
+
+From: Mike Frysinger <vapier@gentoo.org>
+
+The recent commit "usb: musb: Add context save and restore support" added
+some stubs for the Blackfin code so things would compile, but it also
+added a bunch of warnings due to missing return statements.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_regs.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/usb/musb/musb_regs.h
++++ b/drivers/usb/musb/musb_regs.h
+@@ -526,18 +526,22 @@ static inline void musb_write_ulpi_busco
+
+ static inline u8 musb_read_txfifosz(void __iomem *mbase)
+ {
++ return 0;
+ }
+
+ static inline u16 musb_read_txfifoadd(void __iomem *mbase)
+ {
++ return 0;
+ }
+
+ static inline u8 musb_read_rxfifosz(void __iomem *mbase)
+ {
++ return 0;
+ }
+
+ static inline u16 musb_read_rxfifoadd(void __iomem *mbase)
+ {
++ return 0;
+ }
+
+ static inline u8 musb_read_ulpi_buscontrol(void __iomem *mbase)
+@@ -596,22 +600,27 @@ static inline void musb_write_txhubport
+
+ static inline u8 musb_read_rxfunaddr(void __iomem *mbase, u8 epnum)
+ {
++ return 0;
+ }
+
+ static inline u8 musb_read_rxhubaddr(void __iomem *mbase, u8 epnum)
+ {
++ return 0;
+ }
+
+ static inline u8 musb_read_rxhubport(void __iomem *mbase, u8 epnum)
+ {
++ return 0;
+ }
+
+ static inline u8 musb_read_txfunaddr(void __iomem *mbase, u8 epnum)
+ {
++ return 0;
+ }
+
+ static inline u8 musb_read_txhubaddr(void __iomem *mbase, u8 epnum)
+ {
++ return 0;
+ }
+
+ static inline void musb_read_txhubport(void __iomem *mbase, u8 epnum)
diff --git a/usb.current/usb-option-add-support-for-a-new-cmotech-device-to-usb-serial-option.patch b/usb.current/usb-option-add-support-for-a-new-cmotech-device-to-usb-serial-option.patch
new file mode 100644
index 00000000000000..858ad9f2d23fe5
--- /dev/null
+++ b/usb.current/usb-option-add-support-for-a-new-cmotech-device-to-usb-serial-option.patch
@@ -0,0 +1,34 @@
+From nathaniel@natemccallum.com Mon Mar 15 15:20:26 2010
+From: Nathaniel McCallum <nathaniel@natemccallum.com>
+Date: Thu, 11 Mar 2010 13:09:26 -0500
+Subject: USB: option: add support for a new CMOTECH device to usb/serial/option
+Cc: gregkh@suse.de, smurf@smurf.noris.de, gernot@hillier.de, r0bertz@gentoo.org, stern@rowland.harvard.edu, Nathaniel McCallum <nathaniel@natemccallum.com>
+Message-ID: <1268330966-6862-3-git-send-email-nathaniel@natemccallum.com>
+
+
+Signed-off-by: Nathaniel McCallum <nathaniel@natemccallum.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
+@@ -289,6 +289,7 @@ static int option_resume(struct usb_ser
+ #define QUALCOMM_VENDOR_ID 0x05C6
+
+ #define CMOTECH_VENDOR_ID 0x16d8
++#define CMOTECH_PRODUCT_6008 0x6008
+ #define CMOTECH_PRODUCT_6280 0x6280
+
+ #define TELIT_VENDOR_ID 0x1bc7
+@@ -550,6 +551,7 @@ static const struct usb_device_id option
+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */
+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
+ { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6280) }, /* BP3-USB & BP3-EXT HSDPA */
++ { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6008) },
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864G) },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
diff --git a/usb.current/usb-option-fix-incorrect-manufacturer-name-in-usb-serial-option-maxon-cmotech.patch b/usb.current/usb-option-fix-incorrect-manufacturer-name-in-usb-serial-option-maxon-cmotech.patch
new file mode 100644
index 00000000000000..24587519ea647f
--- /dev/null
+++ b/usb.current/usb-option-fix-incorrect-manufacturer-name-in-usb-serial-option-maxon-cmotech.patch
@@ -0,0 +1,36 @@
+From nathaniel@natemccallum.com Mon Mar 15 15:19:36 2010
+From: Nathaniel McCallum <nathaniel@natemccallum.com>
+Date: Thu, 11 Mar 2010 13:09:24 -0500
+Subject: USB: option: fix incorrect manufacturer name in usb/serial/option: MAXON->CMOTECH
+Cc: linux-kernel@vger.kernel.org, gregkh@suse.de, smurf@smurf.noris.de, gernot@hillier.de, r0bertz@gentoo.org, stern@rowland.harvard.edu, Nathaniel McCallum <nathaniel@natemccallum.com>
+Message-ID: <1268330966-6862-1-git-send-email-nathaniel@natemccallum.com>
+
+
+Signed-off-by: Nathaniel McCallum <nathaniel@natemccallum.com>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -288,7 +288,7 @@ static int option_resume(struct usb_ser
+
+ #define QUALCOMM_VENDOR_ID 0x05C6
+
+-#define MAXON_VENDOR_ID 0x16d8
++#define CMOTECH_VENDOR_ID 0x16d8
+
+ #define TELIT_VENDOR_ID 0x1bc7
+ #define TELIT_PRODUCT_UC864E 0x1003
+@@ -548,7 +548,7 @@ static const struct usb_device_id option
+ { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) },
+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */
+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
+- { USB_DEVICE(MAXON_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */
++ { USB_DEVICE(CMOTECH_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864G) },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
diff --git a/usb.current/usb-option-move-hardcoded-pid-to-a-macro-in-usb-serial-option.patch b/usb.current/usb-option-move-hardcoded-pid-to-a-macro-in-usb-serial-option.patch
new file mode 100644
index 00000000000000..883f3eac4acda3
--- /dev/null
+++ b/usb.current/usb-option-move-hardcoded-pid-to-a-macro-in-usb-serial-option.patch
@@ -0,0 +1,35 @@
+From nathaniel@natemccallum.com Mon Mar 15 15:20:03 2010
+From: Nathaniel McCallum <nathaniel@natemccallum.com>
+Date: Thu, 11 Mar 2010 13:01:17 -0500
+Subject: USB: option: move hardcoded PID to a macro in usb/serial/option
+Cc: gregkh@suse.de, smurf@smurf.noris.de, gernot@hillier.de, r0bertz@gentoo.org, stern@rowland.harvard.edu, Nathaniel McCallum <nathaniel@natemccallum.com>
+Message-ID: <1268330478-6689-2-git-send-email-nathaniel@natemccallum.com>
+
+
+Signed-off-by: Nathaniel McCallum <nathaniel@natemccallum.com>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -289,6 +289,7 @@ static int option_resume(struct usb_ser
+ #define QUALCOMM_VENDOR_ID 0x05C6
+
+ #define CMOTECH_VENDOR_ID 0x16d8
++#define CMOTECH_PRODUCT_6280 0x6280
+
+ #define TELIT_VENDOR_ID 0x1bc7
+ #define TELIT_PRODUCT_UC864E 0x1003
+@@ -548,7 +549,7 @@ static const struct usb_device_id option
+ { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) },
+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */
+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
+- { USB_DEVICE(CMOTECH_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */
++ { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6280) }, /* BP3-USB & BP3-EXT HSDPA */
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864G) },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
diff --git a/usb.current/usb-qcserial-add-new-device-ids.patch b/usb.current/usb-qcserial-add-new-device-ids.patch
new file mode 100644
index 00000000000000..39e3a39a0f23f5
--- /dev/null
+++ b/usb.current/usb-qcserial-add-new-device-ids.patch
@@ -0,0 +1,56 @@
+From br@blankpage.ch Mon Mar 15 15:07:59 2010
+From: Bernhard Rosenkraenzer <br@blankpage.ch>
+Date: Wed, 10 Mar 2010 12:36:43 +0100
+Subject: USB: qcserial: add new device ids
+To: Greg KH <gregkh@suse.de>
+Message-ID: <1ad0620b49866cf33763372aca56efdb@blankpage.ch>
+
+This patch adds various USB device IDs for Gobi 2000 devices, as found in the
+drivers available at https://www.codeaurora.org/wiki/GOBI_Releases
+
+Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/qcserial.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+--- a/drivers/usb/serial/qcserial.c
++++ b/drivers/usb/serial/qcserial.c
+@@ -47,6 +47,35 @@ static const struct usb_device_id id_tab
+ {USB_DEVICE(0x05c6, 0x9221)}, /* Generic Gobi QDL device */
+ {USB_DEVICE(0x05c6, 0x9231)}, /* Generic Gobi QDL device */
+ {USB_DEVICE(0x1f45, 0x0001)}, /* Unknown Gobi QDL device */
++ {USB_DEVICE(0x413c, 0x8185)}, /* Dell Gobi 2000 QDL device (N0218, VU936) */
++ {USB_DEVICE(0x413c, 0x8186)}, /* Dell Gobi 2000 Modem device (N0218, VU936) */
++ {USB_DEVICE(0x05c6, 0x9224)}, /* Sony Gobi 2000 QDL device (N0279, VU730) */
++ {USB_DEVICE(0x05c6, 0x9225)}, /* Sony Gobi 2000 Modem device (N0279, VU730) */
++ {USB_DEVICE(0x05c6, 0x9244)}, /* Samsung Gobi 2000 QDL device (VL176) */
++ {USB_DEVICE(0x05c6, 0x9245)}, /* Samsung Gobi 2000 Modem device (VL176) */
++ {USB_DEVICE(0x03f0, 0x241d)}, /* HP Gobi 2000 QDL device (VP412) */
++ {USB_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */
++ {USB_DEVICE(0x05c6, 0x9214)}, /* Acer Gobi 2000 QDL device (VP413) */
++ {USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */
++ {USB_DEVICE(0x05c6, 0x9264)}, /* Asus Gobi 2000 QDL device (VR305) */
++ {USB_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */
++ {USB_DEVICE(0x05c6, 0x9234)}, /* Top Global Gobi 2000 QDL device (VR306) */
++ {USB_DEVICE(0x05c6, 0x9235)}, /* Top Global Gobi 2000 Modem device (VR306) */
++ {USB_DEVICE(0x05c6, 0x9274)}, /* iRex Technologies Gobi 2000 QDL device (VR307) */
++ {USB_DEVICE(0x05c6, 0x9275)}, /* iRex Technologies Gobi 2000 Modem device (VR307) */
++ {USB_DEVICE(0x1199, 0x9000)}, /* Sierra Wireless Gobi 2000 QDL device (VT773) */
++ {USB_DEVICE(0x1199, 0x9001)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9002)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9003)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9004)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9005)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9006)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9007)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9008)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x9009)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x1199, 0x900a)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */
++ {USB_DEVICE(0x16d8, 0x8001)}, /* CMDTech Gobi 2000 QDL device (VU922) */
++ {USB_DEVICE(0x16d8, 0x8002)}, /* CMDTech Gobi 2000 Modem device (VU922) */
+ { } /* Terminating entry */
+ };
+ MODULE_DEVICE_TABLE(usb, id_table);
diff --git a/usb.current/usb-serial-ftdi-add-contec-vendor-and-product-id.patch b/usb.current/usb-serial-ftdi-add-contec-vendor-and-product-id.patch
new file mode 100644
index 00000000000000..71102966dcff5c
--- /dev/null
+++ b/usb.current/usb-serial-ftdi-add-contec-vendor-and-product-id.patch
@@ -0,0 +1,53 @@
+From akpm@linux-foundation.org Mon Mar 15 15:14:50 2010
+From: Daniel Sangorrin <daniel.sangorrin@gmail.com>
+Date: Thu, 11 Mar 2010 14:10:58 -0800
+Subject: USB: serial: ftdi: add CONTEC vendor and product id
+To: greg@kroah.com
+Cc: linux-usb@vger.kernel.org, akpm@linux-foundation.org, daniel.sangorrin@gmail.com, andi@lisas.de, gregkh@suse.de, liboska@uochb.cas.cz
+Message-ID: <201003112210.o2BMAw1a013719@imap1.linux-foundation.org>
+
+
+From: Daniel Sangorrin <daniel.sangorrin@gmail.com>
+
+This is a patch to ftdi_sio_ids.h and ftdi_sio.c that adds identifiers for
+CONTEC USB serial converter. I tested it with the device COM-1(USB)H
+
+[akpm@linux-foundation.org: keep the VIDs sorted a bit]
+Signed-off-by: Daniel Sangorrin <daniel.sangorrin@gmail.com>
+Cc: Andreas Mohr <andi@lisas.de>
+Cc: Radek Liboska <liboska@uochb.cas.cz>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 1 +
+ drivers/usb/serial/ftdi_sio_ids.h | 7 +++++++
+ 2 files changed, 8 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -658,6 +658,7 @@ static struct usb_device_id id_table_com
+ { USB_DEVICE(EVOLUTION_VID, EVOLUTION_ER1_PID) },
+ { USB_DEVICE(EVOLUTION_VID, EVO_HYBRID_PID) },
+ { USB_DEVICE(EVOLUTION_VID, EVO_RCM4_PID) },
++ { USB_DEVICE(CONTEC_VID, CONTEC_COM1USBH_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_ARTEMIS_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16C_PID) },
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -501,6 +501,13 @@
+ #define CONTEC_COM1USBH_PID 0x8311 /* COM-1(USB)H */
+
+ /*
++ * Contec products (http://www.contec.com)
++ * Submitted by Daniel Sangorrin
++ */
++#define CONTEC_VID 0x06CE /* Vendor ID */
++#define CONTEC_COM1USBH_PID 0x8311 /* COM-1(USB)H */
++
++/*
+ * Definitions for B&B Electronics products.
+ */
+ #define BANDB_VID 0x0856 /* B&B Electronics Vendor ID */
diff --git a/usb.current/usb-xhci-re-initialize-cmd_completion.patch b/usb.current/usb-xhci-re-initialize-cmd_completion.patch
new file mode 100644
index 00000000000000..37e7417053b797
--- /dev/null
+++ b/usb.current/usb-xhci-re-initialize-cmd_completion.patch
@@ -0,0 +1,34 @@
+From andiry.xu@amd.com Mon Mar 15 15:13:38 2010
+From: Andiry Xu <andiry.xu@amd.com>
+Date: Fri, 12 Mar 2010 17:10:04 +0800
+Subject: USB: xHCI: re-initialize cmd_completion
+To: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Cc: Greg KH <gregkh@suse.de>, linux-usb@vger.kernel.org, "Yang, Libin" <Libin.Yang@amd.com>
+Message-ID: <1268385004.2633.4.camel@brienza-desktop>
+
+From: Andiry Xu <andiry.xu@amd.com>
+
+When a signal interrupts a Configure Endpoint command, the cmd_completion used
+in xhci_configure_endpoint() is not re-initialized and the
+wait_for_completion_interruptible_timeout() will return failure. Initialize
+cmd_completion in xhci_configure_endpoint().
+
+Signed-off-by: Andiry Xu <andiry.xu@amd.com>
+Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/xhci-hcd.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/host/xhci-hcd.c
++++ b/drivers/usb/host/xhci-hcd.c
+@@ -1173,6 +1173,7 @@ static int xhci_configure_endpoint(struc
+ cmd_completion = &virt_dev->cmd_completion;
+ cmd_status = &virt_dev->cmd_status;
+ }
++ init_completion(cmd_completion);
+
+ if (!ctx_change)
+ ret = xhci_queue_configure_endpoint(xhci, in_ctx->dma,