aboutsummaryrefslogtreecommitdiffstats
path: root/usb.current
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2009-07-15 06:59:51 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-07-15 06:59:51 -0700
commite41a99ca6591586ac2f8b883427c0cbb00d87114 (patch)
tree6d5767517356d12251d0bb1ed857fbd74083522a /usb.current
parentb632b9a7f13fc9a82a43d8e0bd9d541060a75095 (diff)
downloadpatches-e41a99ca6591586ac2f8b883427c0cbb00d87114.tar.gz
more bugfixes, and 2.6.31-rc3 resync
Diffstat (limited to 'usb.current')
-rw-r--r--usb.current/usb-cp210x-add-new-device-ids.patch37
-rw-r--r--usb.current/usb-ehci-orion-call-ehci_reset-before-ehci_halt.patch50
-rw-r--r--usb.current/usb-ftdi_sio-add-support-for-gn-otometrics-aurical-usb-audiometer.patch46
-rw-r--r--usb.current/usb-let-the-option-driver-compile-without-config_pm.patch70
-rw-r--r--usb.current/usb-omap-ohci-hc_driver-s-stop-method-should-call-ohci_stop.patch36
-rw-r--r--usb.current/usb-option-remove-unused-variable.patch48
-rw-r--r--usb.current/usb-storage-raise-timeout-in-usb_stor_bulk_max_lun.patch40
-rw-r--r--usb.current/usb-xhci-fix-less-and-greater-than-confusion.patch38
8 files changed, 365 insertions, 0 deletions
diff --git a/usb.current/usb-cp210x-add-new-device-ids.patch b/usb.current/usb-cp210x-add-new-device-ids.patch
new file mode 100644
index 00000000000000..dca4edccb42fd4
--- /dev/null
+++ b/usb.current/usb-cp210x-add-new-device-ids.patch
@@ -0,0 +1,37 @@
+From craig@microtron.org.uk Wed Jul 15 06:44:55 2009
+From: Craig Shelley <craig@microtron.org.uk>
+Date: Sun, 12 Jul 2009 21:52:33 +0100
+Subject: USB: CP210x Add new device IDs
+To: greg@kroah.com
+Cc: linux-usb@vger.kernel.org
+Message-ID: <1247432154375824083@teratron>
+
+
+
+Signed-off-by: Craig Shelley <craig@microtron.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/cp210x.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/usb/serial/cp210x.c
++++ b/drivers/usb/serial/cp210x.c
+@@ -80,6 +80,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x10C4, 0x80F6) }, /* Suunto sports instrument */
+ { USB_DEVICE(0x10C4, 0x8115) }, /* Arygon NFC/Mifare Reader */
+ { USB_DEVICE(0x10C4, 0x813D) }, /* Burnside Telecom Deskmobile */
++ { USB_DEVICE(0x10C4, 0x813F) }, /* Tams Master Easy Control */
+ { USB_DEVICE(0x10C4, 0x814A) }, /* West Mountain Radio RIGblaster P&P */
+ { USB_DEVICE(0x10C4, 0x814B) }, /* West Mountain Radio RIGtalk */
+ { USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */
+@@ -96,7 +97,9 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x10c4, 0x8293) }, /* Telegesys ETRX2USB */
+ { USB_DEVICE(0x10C4, 0x82F9) }, /* Procyon AVS */
+ { USB_DEVICE(0x10C4, 0x8341) }, /* Siemens MC35PU GPRS Modem */
++ { USB_DEVICE(0x10C4, 0x8382) }, /* Cygnal Integrated Products, Inc. */
+ { USB_DEVICE(0x10C4, 0x83A8) }, /* Amber Wireless AMB2560 */
++ { USB_DEVICE(0x10C4, 0x8411) }, /* Kyocera GPS Module */
+ { USB_DEVICE(0x10C4, 0x846E) }, /* BEI USB Sensor Interface (VCP) */
+ { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
+ { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
diff --git a/usb.current/usb-ehci-orion-call-ehci_reset-before-ehci_halt.patch b/usb.current/usb-ehci-orion-call-ehci_reset-before-ehci_halt.patch
new file mode 100644
index 00000000000000..4c215d3e7c5150
--- /dev/null
+++ b/usb.current/usb-ehci-orion-call-ehci_reset-before-ehci_halt.patch
@@ -0,0 +1,50 @@
+From simon.kagstrom@netinsight.net Wed Jul 15 06:46:21 2009
+From: Simon Kagstrom <simon.kagstrom@netinsight.net>
+Date: Mon, 13 Jul 2009 08:25:09 +0200
+Subject: USB: ehci-orion: Call ehci_reset before ehci_halt
+To: linux-usb@vger.kernel.org
+Message-ID: <20090713082509.345aade5@marrow.netinsight.se>
+
+
+I noticed that USB initialization didn't setup correctly on my kirkwood
+based board (OpenRD base) if I hadn't initialized USB in U-boot first.
+The error message looks like this:
+
+ ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
+ orion-ehci orion-ehci.0: Marvell Orion EHCI
+ orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
+ orion-ehci orion-ehci.0: can't setup
+ orion-ehci orion-ehci.0: USB bus 1 deregistered
+ orion-ehci orion-ehci.0: init orion-ehci.0 fail, -110
+ orion-ehci: probe of orion-ehci.0 failed with error -110
+
+which is caused by ehci_halt() timing out in the handshake() call. I
+noticed that U-boot does a reset before calling handshake(), so this
+patch does the same thing for Linux. USB now works for me.
+
+Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
+Acked-by: Nicolas Pitre <nico@marvell.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-orion.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/host/ehci-orion.c
++++ b/drivers/usb/host/ehci-orion.c
+@@ -105,6 +105,7 @@ static int ehci_orion_setup(struct usb_h
+ struct ehci_hcd *ehci = hcd_to_ehci(hcd);
+ int retval;
+
++ ehci_reset(ehci);
+ retval = ehci_halt(ehci);
+ if (retval)
+ return retval;
+@@ -118,7 +119,6 @@ static int ehci_orion_setup(struct usb_h
+
+ hcd->has_tt = 1;
+
+- ehci_reset(ehci);
+ ehci_port_power(ehci, 0);
+
+ return retval;
diff --git a/usb.current/usb-ftdi_sio-add-support-for-gn-otometrics-aurical-usb-audiometer.patch b/usb.current/usb-ftdi_sio-add-support-for-gn-otometrics-aurical-usb-audiometer.patch
new file mode 100644
index 00000000000000..84d82a3e98c976
--- /dev/null
+++ b/usb.current/usb-ftdi_sio-add-support-for-gn-otometrics-aurical-usb-audiometer.patch
@@ -0,0 +1,46 @@
+From vsundber@gmail.com Wed Jul 15 06:35:18 2009
+From: Ville Sundberg <vsundber@gmail.com>
+Date: Wed, 15 Jul 2009 00:27:28 +0300
+Subject: USB: ftdi_sio: Add support for GN Otometrics Aurical USB Audiometer
+To: linux-usb@vger.kernel.org
+Message-ID: <246ec9720907141427u210ed99hf575e73c07e2d7fc@mail.gmail.com>
+
+
+The patch adds support for the GN Otometrics Aurical USB Audiometer
+(FT232BM-based).
+A new VID and a new PID is added.
+
+Signed-off-by: Ville Sundberg <vsundber@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 1 +
+ drivers/usb/serial/ftdi_sio.h | 7 +++++++
+ 2 files changed, 8 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -698,6 +698,7 @@ static struct usb_device_id id_table_com
+ { USB_DEVICE(MARVELL_VID, MARVELL_SHEEVAPLUG_PID),
+ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+ { USB_DEVICE(LARSENBRUSGAARD_VID, LB_ALTITRACK_PID) },
++ { USB_DEVICE(GN_OTOMETRICS_VID, AURICAL_USB_PID) },
+ { }, /* Optional parameter entry */
+ { } /* Terminating entry */
+ };
+--- a/drivers/usb/serial/ftdi_sio.h
++++ b/drivers/usb/serial/ftdi_sio.h
+@@ -947,6 +947,13 @@
+ #define FTDI_TURTELIZER_PID 0xBDC8 /* JTAG/RS-232 adapter by egnite GmBH */
+
+ /*
++ * GN Otometrics (http://www.otometrics.com)
++ * Submitted by Ville Sundberg.
++ */
++#define GN_OTOMETRICS_VID 0x0c33 /* Vendor ID */
++#define AURICAL_USB_PID 0x0010 /* Aurical USB Audiometer */
++
++/*
+ * BmRequestType: 1100 0000b
+ * bRequest: FTDI_E2_READ
+ * wValue: 0
diff --git a/usb.current/usb-let-the-option-driver-compile-without-config_pm.patch b/usb.current/usb-let-the-option-driver-compile-without-config_pm.patch
new file mode 100644
index 00000000000000..09e7fed47fabd9
--- /dev/null
+++ b/usb.current/usb-let-the-option-driver-compile-without-config_pm.patch
@@ -0,0 +1,70 @@
+From oliver@neukum.org Wed Jul 15 06:31:25 2009
+From: Oliver Neukum <oliver@neukum.org>
+Date: Mon, 13 Jul 2009 23:24:10 +0200
+Subject: USB: let the option driver compile without CONFIG_PM
+To: Randy Dunlap <randy.dunlap@oracle.com>, Greg KH <greg@kroah.com>, USB list <linux-usb@vger.kernel.org>, "zhao1980ming" <zhao1980ming@163.com>
+Message-ID: <200907132324.11444.oliver@neukum.org>
+Content-Disposition: inline
+
+
+This is needed for compilation without CONFIG_PM.
+
+Signed-off-by: Oliver Neukum <oliver@neukum.org>
+Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -66,8 +66,10 @@ static int option_tiocmget(struct tty_s
+ static int option_tiocmset(struct tty_struct *tty, struct file *file,
+ unsigned int set, unsigned int clear);
+ static int option_send_setup(struct usb_serial_port *port);
++#ifdef CONFIG_PM
+ static int option_suspend(struct usb_serial *serial, pm_message_t message);
+ static int option_resume(struct usb_serial *serial);
++#endif
+
+ /* Vendor and product IDs */
+ #define OPTION_VENDOR_ID 0x0AF0
+@@ -555,8 +557,10 @@ static struct usb_driver option_driver =
+ .name = "option",
+ .probe = usb_serial_probe,
+ .disconnect = usb_serial_disconnect,
++#ifdef CONFIG_PM
+ .suspend = usb_serial_suspend,
+ .resume = usb_serial_resume,
++#endif
+ .id_table = option_ids,
+ .no_dynamic_id = 1,
+ };
+@@ -588,8 +592,10 @@ static struct usb_serial_driver option_1
+ .disconnect = option_disconnect,
+ .release = option_release,
+ .read_int_callback = option_instat_callback,
++#ifdef CONFIG_PM
+ .suspend = option_suspend,
+ .resume = option_resume,
++#endif
+ };
+
+ static int debug;
+@@ -1185,6 +1191,7 @@ static void option_release(struct usb_se
+ }
+ }
+
++#ifdef CONFIG_PM
+ static int option_suspend(struct usb_serial *serial, pm_message_t message)
+ {
+ dbg("%s entered", __func__);
+@@ -1243,6 +1250,7 @@ static int option_resume(struct usb_seri
+ }
+ return 0;
+ }
++#endif
+
+ MODULE_AUTHOR(DRIVER_AUTHOR);
+ MODULE_DESCRIPTION(DRIVER_DESC);
diff --git a/usb.current/usb-omap-ohci-hc_driver-s-stop-method-should-call-ohci_stop.patch b/usb.current/usb-omap-ohci-hc_driver-s-stop-method-should-call-ohci_stop.patch
new file mode 100644
index 00000000000000..2833021c59f61d
--- /dev/null
+++ b/usb.current/usb-omap-ohci-hc_driver-s-stop-method-should-call-ohci_stop.patch
@@ -0,0 +1,36 @@
+From gadiyar@ti.com Wed Jul 15 06:34:11 2009
+From: Anand Gadiyar <gadiyar@ti.com>
+Date: Tue, 14 Jul 2009 16:41:00 +0530
+Subject: USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop
+To: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
+Cc: "dbrownell@users.sourceforge.net" <dbrownell@users.sourceforge.net>, "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
+Message-ID: <5A47E75E594F054BAF48C5E4FC4B92AB0305D662CF@dbde02.ent.ti.com>
+
+
+From: Anand Gadiyar <gadiyar@ti.com>
+
+OMAP: OHCI: hc_driver's stop method should call ohci_stop
+
+Without this, the ohci-omap driver will not cleanup the debugfs
+nodes when the driver is unloaded. So the next insmod will fail,
+if CONFIG_DEBUG_FS and CONFIG_USB_DEBUG are both selected.
+
+Reported-by: vikram pandita <vikram.pandita@ti.com>
+Cc: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ohci-omap.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/host/ohci-omap.c
++++ b/drivers/usb/host/ohci-omap.c
+@@ -282,6 +282,7 @@ static int ohci_omap_init(struct usb_hcd
+ static void ohci_omap_stop(struct usb_hcd *hcd)
+ {
+ dev_dbg(hcd->self.controller, "stopping USB Controller\n");
++ ohci_stop(hcd);
+ omap_ohci_clock_power(0);
+ }
+
diff --git a/usb.current/usb-option-remove-unused-variable.patch b/usb.current/usb-option-remove-unused-variable.patch
new file mode 100644
index 00000000000000..19924cd67d629d
--- /dev/null
+++ b/usb.current/usb-option-remove-unused-variable.patch
@@ -0,0 +1,48 @@
+From crmafra@aei.mpg.de Wed Jul 15 06:30:54 2009
+From: "Carlos R. Mafra" <crmafra@aei.mpg.de>
+Date: Mon, 13 Jul 2009 21:45:03 +0200
+Subject: USB: option: Remove unused variable
+To: linux-kernel@vger.kernel.org
+Cc: Alan Stern <stern@rowland.harvard.edu>, Greg Kroah-Hartman <gregkh@suse.de>
+Message-ID: <20090713194502.GA20723@Pilar.aei.mpg.de>
+Content-Disposition: inline
+
+
+From: Carlos R. Mafra <crmafra@aei.mpg.de>
+
+After commit f092c240494f2d807401d93f95f683909b90af96 ("USB: option:
+remove unnecessary and erroneous code") the variable 'serial' becomes
+unused, as gcc-4.3.2 points out:
+
+drivers/usb/serial/option.c: In function 'option_instat_callback':
+drivers/usb/serial/option.c:834: warning: unused variable 'serial'
+drivers/usb/serial/option.c: In function 'option_open':
+drivers/usb/serial/option.c:930: warning: unused variable 'serial'
+
+So I removed it.
+
+Signed-off-by: Carlos R. Mafra <crmafra@aei.mpg.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -831,7 +831,6 @@ static void option_instat_callback(struc
+ int status = urb->status;
+ struct usb_serial_port *port = urb->context;
+ struct option_port_private *portdata = usb_get_serial_port_data(port);
+- struct usb_serial *serial = port->serial;
+
+ dbg("%s", __func__);
+ dbg("%s: urb %p port %p has data %p", __func__, urb, port, portdata);
+@@ -927,7 +926,6 @@ static int option_open(struct tty_struct
+ struct usb_serial_port *port, struct file *filp)
+ {
+ struct option_port_private *portdata;
+- struct usb_serial *serial = port->serial;
+ int i, err;
+ struct urb *urb;
+
diff --git a/usb.current/usb-storage-raise-timeout-in-usb_stor_bulk_max_lun.patch b/usb.current/usb-storage-raise-timeout-in-usb_stor_bulk_max_lun.patch
new file mode 100644
index 00000000000000..9a768b41e38ee1
--- /dev/null
+++ b/usb.current/usb-storage-raise-timeout-in-usb_stor_bulk_max_lun.patch
@@ -0,0 +1,40 @@
+From james@develia.org Wed Jul 15 06:33:19 2009
+From: Giacomo Lozito <james@develia.org>
+Date: Mon, 13 Jul 2009 23:23:33 +0200
+Subject: USB: storage: raise timeout in usb_stor_Bulk_max_lun
+To: Alan Stern <stern@rowland.harvard.edu>
+Cc: linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net, "Greg Kroah-Hartman" <gregkh@suse.de>
+Message-ID: <200907132323.33759.james@develia.org>
+
+
+From: Giacomo Lozito <james@develia.org>
+
+Requests to get max LUN, for certain USB storage devices, require a
+longer timeout before a correct reply is returned. This happens for a
+Realtek USB Card Reader (0bda:0152), which has a max LUN of 3 but is set
+to 0, thus losing functionality, because of the timeout occurring too
+quickly.
+
+Raising the timeout value fixes the issue and might help other devices
+to return a correct max LUN value as well.
+
+Signed-off-by: Giacomo Lozito <james@develia.org>
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/transport.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/storage/transport.c
++++ b/drivers/usb/storage/transport.c
+@@ -961,7 +961,7 @@ int usb_stor_Bulk_max_lun(struct us_data
+ US_BULK_GET_MAX_LUN,
+ USB_DIR_IN | USB_TYPE_CLASS |
+ USB_RECIP_INTERFACE,
+- 0, us->ifnum, us->iobuf, 1, HZ);
++ 0, us->ifnum, us->iobuf, 1, 10*HZ);
+
+ US_DEBUGP("GetMaxLUN command result is %d, data is %d\n",
+ result, us->iobuf[0]);
diff --git a/usb.current/usb-xhci-fix-less-and-greater-than-confusion.patch b/usb.current/usb-xhci-fix-less-and-greater-than-confusion.patch
new file mode 100644
index 00000000000000..62e0b10fd26609
--- /dev/null
+++ b/usb.current/usb-xhci-fix-less-and-greater-than-confusion.patch
@@ -0,0 +1,38 @@
+From roel.kluin@gmail.com Wed Jul 15 06:44:15 2009
+From: Roel Kluin <roel.kluin@gmail.com>
+Date: Mon, 13 Jul 2009 00:23:47 +0200
+Subject: USB: xhci: fix less- and greater than confusion
+To: sarah.a.sharp@linux.intel.com, linux-usb@vger.kernel.org, gregkh@suse.de, Andrew Morton <akpm@linux-foundation.org>
+Message-ID: <4A5A6273.5030702@gmail.com>
+
+
+Without this change the loops won't start
+
+Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/xhci-dbg.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/host/xhci-dbg.c
++++ b/drivers/usb/host/xhci-dbg.c
+@@ -419,7 +419,7 @@ void xhci_dbg_ctx(struct xhci_hcd *xhci,
+ &ctx->add_flags, (unsigned long long)dma,
+ ctx->add_flags);
+ dma += field_size;
+- for (i = 0; i > 6; ++i) {
++ for (i = 0; i < 6; ++i) {
+ xhci_dbg(xhci, "@%p (virt) @%08llx (dma) %#08x - rsvd[%d]\n",
+ &ctx->rsvd[i], (unsigned long long)dma,
+ ctx->rsvd[i], i);
+@@ -443,7 +443,7 @@ void xhci_dbg_ctx(struct xhci_hcd *xhci,
+ &ctx->slot.dev_state,
+ (unsigned long long)dma, ctx->slot.dev_state);
+ dma += field_size;
+- for (i = 0; i > 4; ++i) {
++ for (i = 0; i < 4; ++i) {
+ xhci_dbg(xhci, "@%p (virt) @%08llx (dma) %#08x - rsvd[%d]\n",
+ &ctx->slot.reserved[i], (unsigned long long)dma,
+ ctx->slot.reserved[i], i);