]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.34 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 28 Jul 2010 22:49:35 +0000 (15:49 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 28 Jul 2010 22:49:35 +0000 (15:49 -0700)
20 files changed:
queue-2.6.34/series
queue-2.6.34/usb-add-pid-for-sierra-250u-to-drivers-usb-serial-sierra.c.patch [new file with mode: 0644]
queue-2.6.34/usb-add-quirk-for-broadcom-bt-dongle.patch [new file with mode: 0644]
queue-2.6.34/usb-adds-artisman-usb-dongle-to-list-of-quirky-devices.patch [new file with mode: 0644]
queue-2.6.34/usb-don-t-enable-remote-wakeup-by-default.patch [new file with mode: 0644]
queue-2.6.34/usb-ehci-mxc-bail-out-on-transceiver-problems.patch [new file with mode: 0644]
queue-2.6.34/usb-fix-usb3.0-port-speed-downgrade-after-port-reset.patch [new file with mode: 0644]
queue-2.6.34/usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch [new file with mode: 0644]
queue-2.6.34/usb-ftdi_sio-support-for-signalyzer-tools-based-on-ftdi-chips.patch [new file with mode: 0644]
queue-2.6.34/usb-g_serial-don-t-set-low_latency-flag.patch [new file with mode: 0644]
queue-2.6.34/usb-g_serial-fix-tty-cleanup-on-unload.patch [new file with mode: 0644]
queue-2.6.34/usb-musb-fix-a-bug-by-making-suspend-interrupt-available-in-device-mode.patch [new file with mode: 0644]
queue-2.6.34/usb-musb-make-non-omap-platforms-build-with-config_pm-y.patch [new file with mode: 0644]
queue-2.6.34/usb-musb-tusb6010-fix-compile-error-with-n8x0_defconfig.patch [new file with mode: 0644]
queue-2.6.34/usb-musb_core-make-disconnect-and-suspend-interrupts-work-again.patch [new file with mode: 0644]
queue-2.6.34/usb-obey-the-sysfs-power-wakeup-setting.patch [new file with mode: 0644]
queue-2.6.34/usb-option-add-support-for-1da5-4518.patch [new file with mode: 0644]
queue-2.6.34/usb-option-add-support-for-amoi-skypephone-s2.patch [new file with mode: 0644]
queue-2.6.34/usb-sisusbvga-fix-for-usb-3.0.patch [new file with mode: 0644]
queue-2.6.34/usb-xhci-set-mult-field-in-endpoint-context-correctly.patch [new file with mode: 0644]

index a13605a13945fab78f7df16c885994accfbf2071..c2d2062405dbe9a5a623d1e9ae68765f757550e0 100644 (file)
@@ -121,3 +121,22 @@ x86-do-not-try-to-disable-hpet-if-it-hasn-t-been-initialized-before.patch
 x86-pci-mrst-add-extra-sanity-check-in-walking-the-pci-extended-cap-chain.patch
 x86-kprobes-fix-swapped-segment-registers-in-kretprobe.patch
 x86-i8259-only-register-sysdev-if-we-have-a-real-8259-pic.patch
+usb-don-t-enable-remote-wakeup-by-default.patch
+usb-g_serial-don-t-set-low_latency-flag.patch
+usb-g_serial-fix-tty-cleanup-on-unload.patch
+usb-musb-fix-a-bug-by-making-suspend-interrupt-available-in-device-mode.patch
+usb-ehci-mxc-bail-out-on-transceiver-problems.patch
+usb-obey-the-sysfs-power-wakeup-setting.patch
+usb-musb_core-make-disconnect-and-suspend-interrupts-work-again.patch
+usb-musb-make-non-omap-platforms-build-with-config_pm-y.patch
+usb-option-add-support-for-1da5-4518.patch
+usb-add-pid-for-sierra-250u-to-drivers-usb-serial-sierra.c.patch
+usb-ftdi_sio-support-for-signalyzer-tools-based-on-ftdi-chips.patch
+usb-option-add-support-for-amoi-skypephone-s2.patch
+usb-fix-usb3.0-port-speed-downgrade-after-port-reset.patch
+usb-adds-artisman-usb-dongle-to-list-of-quirky-devices.patch
+usb-sisusbvga-fix-for-usb-3.0.patch
+usb-xhci-set-mult-field-in-endpoint-context-correctly.patch
+usb-add-quirk-for-broadcom-bt-dongle.patch
+usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch
+usb-musb-tusb6010-fix-compile-error-with-n8x0_defconfig.patch
diff --git a/queue-2.6.34/usb-add-pid-for-sierra-250u-to-drivers-usb-serial-sierra.c.patch b/queue-2.6.34/usb-add-pid-for-sierra-250u-to-drivers-usb-serial-sierra.c.patch
new file mode 100644 (file)
index 0000000..e7a62e7
--- /dev/null
@@ -0,0 +1,30 @@
+From 9d72c81d657340e54a260a3b621f4a9f5b33829c Mon Sep 17 00:00:00 2001
+From: august huber <gus@pbx.org>
+Date: Mon, 28 Jun 2010 11:46:05 -0700
+Subject: USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c
+
+From: august huber <gus@pbx.org>
+
+commit 9d72c81d657340e54a260a3b621f4a9f5b33829c upstream.
+
+Add VID/PID for Sierra Wireless 250U USB dongle to sierra.c
+Allows use of 3G radio only
+
+Signed-off-by: August Huber <gus@pbx.org>
+Cc: Elina Pasheva <epasheva@sierrawireless.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/sierra.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/sierra.c
++++ b/drivers/usb/serial/sierra.c
+@@ -245,6 +245,7 @@ static const struct usb_device_id id_tab
+       { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
+       { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless AirCard 580 */
+       { USB_DEVICE(0x1199, 0x0120) }, /* Sierra Wireless USB Dongle 595U */
++      { USB_DEVICE(0x1199, 0x0301) }, /* Sierra Wireless USB Dongle 250U */
+       /* Sierra Wireless C597 */
+       { USB_DEVICE_AND_INTERFACE_INFO(0x1199, 0x0023, 0xFF, 0xFF, 0xFF) },
+       /* Sierra Wireless T598 */
diff --git a/queue-2.6.34/usb-add-quirk-for-broadcom-bt-dongle.patch b/queue-2.6.34/usb-add-quirk-for-broadcom-bt-dongle.patch
new file mode 100644 (file)
index 0000000..9d3a63e
--- /dev/null
@@ -0,0 +1,30 @@
+From 63ab71deae67b031045bb28bf8cff45180089f8f Mon Sep 17 00:00:00 2001
+From: Oliver Neukum <oliver@neukum.org>
+Date: Wed, 14 Jul 2010 18:26:22 +0200
+Subject: USB: add quirk for Broadcom BT dongle
+
+From: Oliver Neukum <oliver@neukum.org>
+
+commit 63ab71deae67b031045bb28bf8cff45180089f8f upstream.
+
+This device needs to be reset when resuming
+
+Signed-off-by: Oliver Neukum <oneukum@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/quirks.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -68,6 +68,9 @@ static const struct usb_device_id usb_qu
+       /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */
+       { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
++      /* Broadcom BCM92035DGROM BT dongle */
++      { USB_DEVICE(0x0a5c, 0x2021), .driver_info = USB_QUIRK_RESET_RESUME },
++
+       /* Action Semiconductor flash disk */
+       { USB_DEVICE(0x10d6, 0x2200), .driver_info =
+                       USB_QUIRK_STRING_FETCH_255 },
diff --git a/queue-2.6.34/usb-adds-artisman-usb-dongle-to-list-of-quirky-devices.patch b/queue-2.6.34/usb-adds-artisman-usb-dongle-to-list-of-quirky-devices.patch
new file mode 100644 (file)
index 0000000..e03fde3
--- /dev/null
@@ -0,0 +1,39 @@
+From 47f19c0eedb377ad1ee8114f464d001ec5f96a69 Mon Sep 17 00:00:00 2001
+From: Paul Mortier <mortier@btinternet.com>
+Date: Fri, 9 Jul 2010 13:18:50 +0100
+Subject: USB: adds Artisman USB dongle to list of quirky devices
+
+From: Paul Mortier <mortier@btinternet.com>
+
+commit 47f19c0eedb377ad1ee8114f464d001ec5f96a69 upstream.
+
+When an attempt is made to read the interface strings of the Artisman
+Watchdog USB dongle (idVendor:idProduct 04b4:0526) an error is written
+to the dmesg log (uhci_result_common: failed with status 440000) and the
+dongle resets itself, resulting in a disconnect/reconnect loop.
+
+Adding the dongle to the list of devices in quirks.c, with the same
+quirk Alan Stern's previous patch for the Saitek Cyborg Gold 3D
+joystick, stops the device from resetting and allows it to be used with
+no problems.
+
+Signed-off-by: Paul Mortier <mortier@btinternet.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/quirks.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -41,6 +41,10 @@ static const struct usb_device_id usb_qu
+       /* Philips PSC805 audio device */
+       { USB_DEVICE(0x0471, 0x0155), .driver_info = USB_QUIRK_RESET_RESUME },
++      /* Artisman Watchdog Dongle */
++      { USB_DEVICE(0x04b4, 0x0526), .driver_info =
++                      USB_QUIRK_CONFIG_INTF_STRINGS },
++
+       /* Roland SC-8820 */
+       { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME },
diff --git a/queue-2.6.34/usb-don-t-enable-remote-wakeup-by-default.patch b/queue-2.6.34/usb-don-t-enable-remote-wakeup-by-default.patch
new file mode 100644 (file)
index 0000000..82cf48e
--- /dev/null
@@ -0,0 +1,37 @@
+From 7aba8d014341341590ecb64050b7a026642a62eb Mon Sep 17 00:00:00 2001
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Fri, 2 Apr 2010 13:21:33 -0400
+Subject: USB: don't enable remote wakeup by default
+
+From: Alan Stern <stern@rowland.harvard.edu>
+
+commit 7aba8d014341341590ecb64050b7a026642a62eb upstream.
+
+This patch (as1364) avoids enabling remote wakeup by default on all
+non-root-hub USB devices.  Individual drivers or userspace will have
+to enable it wherever it is needed, such as for keyboards or network
+interfaces.  Note: This affects only system sleep, not autosuspend.
+
+External hubs will continue to relay wakeup requests received from
+downstream through their upstream port, even when remote wakeup is not
+enabled for the hub itself.  Disabling remote wakeup on a hub merely
+prevents it from generating wakeup requests in response to connect,
+disconnect, and overcurrent events.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/hub.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/usb/core/hub.c
++++ b/drivers/usb/core/hub.c
+@@ -1784,7 +1784,6 @@ int usb_new_device(struct usb_device *ud
+                * sysfs power/wakeup controls wakeup enabled/disabled
+                */
+               device_init_wakeup(&udev->dev, 0);
+-              device_set_wakeup_enable(&udev->dev, 1);
+       }
+       /* Tell the runtime-PM framework the device is active */
diff --git a/queue-2.6.34/usb-ehci-mxc-bail-out-on-transceiver-problems.patch b/queue-2.6.34/usb-ehci-mxc-bail-out-on-transceiver-problems.patch
new file mode 100644 (file)
index 0000000..440350a
--- /dev/null
@@ -0,0 +1,68 @@
+From 4c9715de52b9b6256bf1e9510917111a47b0c176 Mon Sep 17 00:00:00 2001
+From: Wolfram Sang <w.sang@pengutronix.de>
+Date: Tue, 15 Jun 2010 12:34:23 +0200
+Subject: USB: ehci-mxc: bail out on transceiver problems
+
+From: Wolfram Sang <w.sang@pengutronix.de>
+
+commit 4c9715de52b9b6256bf1e9510917111a47b0c176 upstream.
+
+The old code registered the hcd even if there were no transceivers
+detected, leading to oopses like this if we try to probe a non-existant
+ULPI:
+
+[    2.730000] mxc-ehci mxc-ehci.0: unable to init transceiver
+[    2.740000] timeout polling for ULPI device
+[    2.740000] timeout polling for ULPI device
+[    2.750000] mxc-ehci mxc-ehci.0: unable to enable vbus on transceiver
+[    2.750000] mxc-ehci mxc-ehci.0: Freescale On-Chip EHCI Host Controller
+[    2.760000] mxc-ehci mxc-ehci.0: new USB bus registered, assigned bus number 2
+[    2.770000] Unhandled fault: external abort on non-linefetch (0x808) at 0xc4876184
+[    2.770000] Internal error: : 808 [#1] PREEMPT
+[    2.770000] last sysfs file:
+[    2.770000] Modules linked in:
+[    2.770000] CPU: 0    Not tainted  (2.6.33.5 #5)
+[    2.770000] PC is at ehci_hub_control+0x4d4/0x8f8
+[    2.770000] LR is at ehci_mxc_setup+0xbc/0xdc
+[    2.770000] pc : [<c0196dfc>]    lr : [<c019bc8c>]    psr: 00000093
+[    2.770000] sp : c3815e40  ip : 00000001  fp : 60000013
+[    2.770000] r10: c4876184  r9 : 00000000  r8 : c3814000
+[    2.770000] r7 : c391d2cc  r6 : 00000001  r5 : 00000001  r4 : 00000000
+[    2.770000] r3 : 80000000  r2 : 00000007  r1 : 80000000  r0 : c4876184
+[    2.770000] Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment kernel
+[    2.770000] Control: 0005317f  Table: a0004000  DAC: 00000017
+[    2.770000] Process swapper (pid: 1, stack limit = 0xc3814270)
+...
+
+Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
+Cc: Sascha Hauer <s.hauer@pengutronix.de>
+Acked-by: Daniel Mack <daniel@caiaq.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-mxc.c |   13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/host/ehci-mxc.c
++++ b/drivers/usb/host/ehci-mxc.c
+@@ -207,10 +207,17 @@ static int ehci_mxc_drv_probe(struct pla
+       /* Initialize the transceiver */
+       if (pdata->otg) {
+               pdata->otg->io_priv = hcd->regs + ULPI_VIEWPORT_OFFSET;
+-              if (otg_init(pdata->otg) != 0)
+-                      dev_err(dev, "unable to init transceiver\n");
+-              else if (otg_set_vbus(pdata->otg, 1) != 0)
++              ret = otg_init(pdata->otg);
++              if (ret) {
++                      dev_err(dev, "unable to init transceiver, probably missing\n");
++                      ret = -ENODEV;
++                      goto err_add;
++              }
++              ret = otg_set_vbus(pdata->otg, 1);
++              if (ret) {
+                       dev_err(dev, "unable to enable vbus on transceiver\n");
++                      goto err_add;
++              }
+       }
+       priv->hcd = hcd;
diff --git a/queue-2.6.34/usb-fix-usb3.0-port-speed-downgrade-after-port-reset.patch b/queue-2.6.34/usb-fix-usb3.0-port-speed-downgrade-after-port-reset.patch
new file mode 100644 (file)
index 0000000..cb1a610
--- /dev/null
@@ -0,0 +1,43 @@
+From 809cd1cb80d7dffe75dc94bc94ef2aab3dadc86a Mon Sep 17 00:00:00 2001
+From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Date: Fri, 9 Jul 2010 17:08:48 +0200
+Subject: USB: Fix USB3.0 Port Speed Downgrade after port reset
+
+From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+
+commit 809cd1cb80d7dffe75dc94bc94ef2aab3dadc86a upstream.
+
+Without this fix, a USB 3.0 port is downgraded to full speed after a port
+reset of a configured device.  The USB 3.0 terminations will be disabled
+permanently, and USB 3.0 devices will always enumerate as full speed
+devices, until the host controller is unplugged (if it is an ExpressCard)
+or the computer is rebooted.
+
+Fajun Chen traced this traced the speed downgrade issue to the port reset
+and the interpretation of port status in USB hub driver code.  The hub
+code was not testing for the port being a SuperSpeed port, and it fell
+through to the else case of Full Speed.
+
+The following patch adds SuperSpeed mapping from the port status, and
+fixes the speed downgrade issue.
+
+Reported-by: Fajun Chen <fajun.chen@seagate.com>
+Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/usb/core/hub.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/usb/core/hub.c
++++ b/drivers/usb/core/hub.c
+@@ -1971,6 +1971,8 @@ static int hub_port_wait_reset(struct us
+                   (portstatus & USB_PORT_STAT_ENABLE)) {
+                       if (hub_is_wusb(hub))
+                               udev->speed = USB_SPEED_WIRELESS;
++                      else if (portstatus & (1 << USB_PORT_FEAT_SUPERSPEED))
++                              udev->speed = USB_SPEED_SUPER;
+                       else if (portstatus & USB_PORT_STAT_HIGH_SPEED)
+                               udev->speed = USB_SPEED_HIGH;
+                       else if (portstatus & USB_PORT_STAT_LOW_SPEED)
diff --git a/queue-2.6.34/usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch b/queue-2.6.34/usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch
new file mode 100644 (file)
index 0000000..0241f19
--- /dev/null
@@ -0,0 +1,46 @@
+From fcc6cb789c77ffee31710eec64efeb25f2124f7a Mon Sep 17 00:00:00 2001
+From: Corey Minyard <minyard@acm.org>
+Date: Wed, 21 Jul 2010 08:39:22 -0500
+Subject: USB: FTDI: Add support for the RT System VX-7 radio programming cable
+
+From: Corey Minyard <minyard@acm.org>
+
+commit fcc6cb789c77ffee31710eec64efeb25f2124f7a upstream.
+
+RT Systems has put out bunch of ham radio cables based on the FT232RL
+chip.  Each cable type has a unique PID, this adds one for the Yaesu VX-7
+radios.
+
+Signed-off-by: Corey Minyard <minyard@acm.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c     |    1 +
+ drivers/usb/serial/ftdi_sio_ids.h |    6 ++++++
+ 2 files changed, 7 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -697,6 +697,7 @@ static struct usb_device_id id_table_com
+       { USB_DEVICE(FTDI_VID, FTDI_NDI_AURORA_SCU_PID),
+               .driver_info = (kernel_ulong_t)&ftdi_NDI_device_quirk },
+       { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) },
++      { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_SERIAL_VX7_PID) },
+       { USB_DEVICE(FTDI_VID, FTDI_MAXSTREAM_PID) },
+       { USB_DEVICE(FTDI_VID, FTDI_PHI_FISCO_PID) },
+       { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) },
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -703,6 +703,12 @@
+ #define TELLDUS_TELLSTICK_PID         0x0C30  /* RF control dongle 433 MHz using FT232RL */
+ /*
++ * RT Systems programming cables for various ham radios
++ */
++#define RTSYSTEMS_VID                 0x2100  /* Vendor ID */
++#define RTSYSTEMS_SERIAL_VX7_PID      0x9e52  /* Serial converter for VX-7 Radios using FT232RL */
++
++/*
+  * Bayer Ascensia Contour blood glucose meter USB-converter cable.
+  * http://winglucofacts.com/cables/
+  */
diff --git a/queue-2.6.34/usb-ftdi_sio-support-for-signalyzer-tools-based-on-ftdi-chips.patch b/queue-2.6.34/usb-ftdi_sio-support-for-signalyzer-tools-based-on-ftdi-chips.patch
new file mode 100644 (file)
index 0000000..1070791
--- /dev/null
@@ -0,0 +1,53 @@
+From 77dbd74e16b566e9d5eeb4be18ae3ee7d5902bd3 Mon Sep 17 00:00:00 2001
+From: Colin Leitner <colin.leitner@googlemail.com>
+Date: Thu, 1 Jul 2010 10:49:55 +0200
+Subject: USB: ftdi_sio: support for Signalyzer tools based on FTDI chips
+
+From: Colin Leitner <colin.leitner@googlemail.com>
+
+commit 77dbd74e16b566e9d5eeb4be18ae3ee7d5902bd3 upstream.
+
+ftdi_sio: support for Signalyzer tools based on FTDI chips
+
+This patch adds support for the Xverve Signalyzers.
+
+Signed-off-by: Colin Leitner <colin.leitner@googlemail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c     |    8 ++++++++
+ drivers/usb/serial/ftdi_sio_ids.h |    9 +++++++++
+ 2 files changed, 17 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -743,6 +743,14 @@ static struct usb_device_id id_table_com
+       { USB_DEVICE(FTDI_VID, MJSG_SR_RADIO_PID) },
+       { USB_DEVICE(FTDI_VID, MJSG_HD_RADIO_PID) },
+       { USB_DEVICE(FTDI_VID, MJSG_XM_RADIO_PID) },
++      { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_ST_PID),
++              .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
++      { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_SLITE_PID),
++              .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
++      { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_SH2_PID),
++              .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
++      { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_SH4_PID),
++              .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+       { },                                    /* Optional parameter entry */
+       { }                                     /* Terminating entry */
+ };
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -1024,3 +1024,12 @@
+ #define MJSG_SR_RADIO_PID     0x9379
+ #define MJSG_XM_RADIO_PID     0x937A
+ #define MJSG_HD_RADIO_PID     0x937C
++
++/*
++ * Xverve Signalyzer tools (http://www.signalyzer.com/)
++ */
++#define XVERVE_SIGNALYZER_ST_PID      0xBCA0
++#define XVERVE_SIGNALYZER_SLITE_PID   0xBCA1
++#define XVERVE_SIGNALYZER_SH2_PID     0xBCA2
++#define XVERVE_SIGNALYZER_SH4_PID     0xBCA4
++
diff --git a/queue-2.6.34/usb-g_serial-don-t-set-low_latency-flag.patch b/queue-2.6.34/usb-g_serial-don-t-set-low_latency-flag.patch
new file mode 100644 (file)
index 0000000..56be438
--- /dev/null
@@ -0,0 +1,58 @@
+From 44a0c0190b500ee6bcfc0976fe540f65dee2cd67 Mon Sep 17 00:00:00 2001
+From: Jon Povey <jon.povey@racelogic.co.uk>
+Date: Mon, 14 Jun 2010 19:41:04 +0900
+Subject: USB: g_serial: don't set low_latency flag
+
+From: Jon Povey <jon.povey@racelogic.co.uk>
+
+commit 44a0c0190b500ee6bcfc0976fe540f65dee2cd67 upstream.
+
+No longer set low_latency flag as it causes this warning backtrace:
+
+  WARNING: at kernel/mutex.c:207 __mutex_lock_slowpath+0x6c/0x288()
+
+Fix associated locking and wakeups.
+
+Signed-off-by: Jon Povey <jon.povey@racelogic.co.uk>
+Cc: Maulik Mankad <x0082077@ti.com>
+Acked-by: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/u_serial.c |   15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+
+--- a/drivers/usb/gadget/u_serial.c
++++ b/drivers/usb/gadget/u_serial.c
+@@ -536,17 +536,11 @@ recycle:
+               list_move(&req->list, &port->read_pool);
+       }
+-      /* Push from tty to ldisc; this is immediate with low_latency, and
+-       * may trigger callbacks to this driver ... so drop the spinlock.
++      /* Push from tty to ldisc; without low_latency set this is handled by
++       * a workqueue, so we won't get callbacks and can hold port_lock
+        */
+       if (tty && do_push) {
+-              spin_unlock_irq(&port->port_lock);
+               tty_flip_buffer_push(tty);
+-              wake_up_interruptible(&tty->read_wait);
+-              spin_lock_irq(&port->port_lock);
+-
+-              /* tty may have been closed */
+-              tty = port->port_tty;
+       }
+@@ -784,11 +778,6 @@ static int gs_open(struct tty_struct *tt
+       port->open_count = 1;
+       port->openclose = false;
+-      /* low_latency means ldiscs work in tasklet context, without
+-       * needing a workqueue schedule ... easier to keep up.
+-       */
+-      tty->low_latency = 1;
+-
+       /* if connected, start the I/O stream */
+       if (port->port_usb) {
+               struct gserial  *gser = port->port_usb;
diff --git a/queue-2.6.34/usb-g_serial-fix-tty-cleanup-on-unload.patch b/queue-2.6.34/usb-g_serial-fix-tty-cleanup-on-unload.patch
new file mode 100644 (file)
index 0000000..76734a5
--- /dev/null
@@ -0,0 +1,30 @@
+From b23097b793081358a6d943263c91bae4c955c4e3 Mon Sep 17 00:00:00 2001
+From: Jon Povey <jon.povey@racelogic.co.uk>
+Date: Mon, 14 Jun 2010 19:42:10 +0900
+Subject: USB: g_serial: fix tty cleanup on unload
+
+From: Jon Povey <jon.povey@racelogic.co.uk>
+
+commit b23097b793081358a6d943263c91bae4c955c4e3 upstream.
+
+Call put_tty_driver() in cleanup function, to fix Oops when trying to open
+gadget serial char device after module unload.
+
+Signed-off-by: Jon Povey <jon.povey@racelogic.co.uk>
+Acked-by: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/u_serial.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/gadget/u_serial.c
++++ b/drivers/usb/gadget/u_serial.c
+@@ -1184,6 +1184,7 @@ void gserial_cleanup(void)
+       n_ports = 0;
+       tty_unregister_driver(gs_tty_driver);
++      put_tty_driver(gs_tty_driver);
+       gs_tty_driver = NULL;
+       pr_debug("%s: cleaned up ttyGS* support\n", __func__);
diff --git a/queue-2.6.34/usb-musb-fix-a-bug-by-making-suspend-interrupt-available-in-device-mode.patch b/queue-2.6.34/usb-musb-fix-a-bug-by-making-suspend-interrupt-available-in-device-mode.patch
new file mode 100644 (file)
index 0000000..31dbfa4
--- /dev/null
@@ -0,0 +1,48 @@
+From 2bb14cbf04ded4b9e394a6ba9e4f06b82fbac8b2 Mon Sep 17 00:00:00 2001
+From: Maulik Mankad <x0082077@ti.com>
+Date: Tue, 15 Jun 2010 14:40:27 +0530
+Subject: usb: musb: Fix a bug by making suspend interrupt available in device mode
+
+From: Maulik Mankad <x0082077@ti.com>
+
+commit 2bb14cbf04ded4b9e394a6ba9e4f06b82fbac8b2 upstream.
+
+As a part of aligning the ISR code for MUSB with the specs, the
+ISR code was re-written.
+
+See Commit 1c25fda4a09e8229800979986ef399401053b46e (usb: musb: handle
+irqs in the order dictated by programming guide)
+
+With this the suspend interrupt came accidently under CONFIG_USB_MUSB_HDRC_HCD.
+
+The fix brings suspend interrupt handling outside
+CONFIG_USB_MUSB_HDRC_HCD.
+
+Signed-off-by: Maulik Mankad <x0082077@ti.com>
+Cc: David Brownell <david-b@pacbell.net>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -562,7 +562,7 @@ static irqreturn_t musb_stage0_irq(struc
+               handled = IRQ_HANDLED;
+       }
+-
++#endif
+       if (int_usb & MUSB_INTR_SUSPEND) {
+               DBG(1, "SUSPEND (%s) devctl %02x power %02x\n",
+                               otg_state_string(musb), devctl, power);
+@@ -625,6 +625,7 @@ static irqreturn_t musb_stage0_irq(struc
+               }
+       }
++#ifdef CONFIG_USB_MUSB_HDRC_HCD
+       if (int_usb & MUSB_INTR_CONNECT) {
+               struct usb_hcd *hcd = musb_to_hcd(musb);
+               void __iomem *mbase = musb->mregs;
diff --git a/queue-2.6.34/usb-musb-make-non-omap-platforms-build-with-config_pm-y.patch b/queue-2.6.34/usb-musb-make-non-omap-platforms-build-with-config_pm-y.patch
new file mode 100644 (file)
index 0000000..86cf9e3
--- /dev/null
@@ -0,0 +1,56 @@
+From 9297688a9257d73956d4bba484d9dd331ca72c25 Mon Sep 17 00:00:00 2001
+From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+Date: Thu, 24 Jun 2010 23:07:07 +0530
+Subject: USB: MUSB: make non-OMAP platforms build with CONFIG_PM=y
+
+From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+
+commit 9297688a9257d73956d4bba484d9dd331ca72c25 upstream.
+
+Attempt to build MUSB driver with CONFIG_PM=y (e.g. in the OTG mode) on DaVinci
+results in these link errors:
+
+drivers/built-in.o: In function `musb_restore_context':
+led-triggers.c:(.text+0x714d8): undefined reference to
+`musb_platform_restore_context'
+drivers/built-in.o: In function `musb_save_context':
+led-triggers.c:(.text+0x71788): undefined reference to
+`musb_platform_save_context'
+
+This turned out to be caused by commit 9957dd97ec5e98dd334f87ade1d9a0b24d1f86eb
+(usb: musb: Fix compile error for omaps for musb_hdrc). Revert it, taking into
+account the rename of CONFIG_ARCH_OMAP34XX into CONFIG_ARCH_OMAP3 (which that
+commit fixed in a completely inappropriate way) and the recent addition of
+OMAP4 support.
+
+Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.h |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/musb/musb_core.h
++++ b/drivers/usb/musb/musb_core.h
+@@ -469,7 +469,8 @@ struct musb_csr_regs {
+ struct musb_context_registers {
+-#ifdef CONFIG_PM
++#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \
++    defined(CONFIG_ARCH_OMAP4)
+       u32 otg_sysconfig, otg_forcestandby;
+ #endif
+       u8 power;
+@@ -483,7 +484,8 @@ struct musb_context_registers {
+       struct musb_csr_regs index_regs[MUSB_C_NUM_EPS];
+ };
+-#ifdef CONFIG_PM
++#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \
++    defined(CONFIG_ARCH_OMAP4)
+ 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/queue-2.6.34/usb-musb-tusb6010-fix-compile-error-with-n8x0_defconfig.patch b/queue-2.6.34/usb-musb-tusb6010-fix-compile-error-with-n8x0_defconfig.patch
new file mode 100644 (file)
index 0000000..d61383f
--- /dev/null
@@ -0,0 +1,41 @@
+From 2b795ea00c2bbb077a1199a4d729c8ac03a6bded Mon Sep 17 00:00:00 2001
+From: Felipe Balbi <felipe.balbi@nokia.com>
+Date: Mon, 5 Jul 2010 12:12:01 +0300
+Subject: USB: musb: tusb6010: fix compile error with n8x0_defconfig
+
+From: Felipe Balbi <felipe.balbi@nokia.com>
+
+commit 2b795ea00c2bbb077a1199a4d729c8ac03a6bded upstream.
+
+Drop the unnecessary empty stubs in tusb6010.c and avoid
+a compile error when building kernel for n8x0.
+
+Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/tusb6010.c |   13 -------------
+ 1 file changed, 13 deletions(-)
+
+--- a/drivers/usb/musb/tusb6010.c
++++ b/drivers/usb/musb/tusb6010.c
+@@ -29,19 +29,6 @@ static void tusb_source_power(struct mus
+ #define TUSB_REV_MAJOR(reg_val)               ((reg_val >> 4) & 0xf)
+ #define TUSB_REV_MINOR(reg_val)               (reg_val & 0xf)
+-#ifdef CONFIG_PM
+-/* REVISIT: These should be only needed if somebody implements off idle */
+-void musb_platform_save_context(struct musb *musb,
+-                      struct musb_context_registers *musb_context)
+-{
+-}
+-
+-void musb_platform_restore_context(struct musb *musb,
+-                      struct musb_context_registers *musb_context)
+-{
+-}
+-#endif
+-
+ /*
+  * Checks the revision. We need to use the DMA register as 3.0 does not
+  * have correct versions for TUSB_PRCM_REV or TUSB_INT_CTRL_REV.
diff --git a/queue-2.6.34/usb-musb_core-make-disconnect-and-suspend-interrupts-work-again.patch b/queue-2.6.34/usb-musb_core-make-disconnect-and-suspend-interrupts-work-again.patch
new file mode 100644 (file)
index 0000000..99ff8be
--- /dev/null
@@ -0,0 +1,45 @@
+From 7d9645fdca444d53907b22a4b73e3967efe09781 Mon Sep 17 00:00:00 2001
+From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+Date: Thu, 24 Jun 2010 23:07:06 +0530
+Subject: USB: musb_core: make disconnect and suspend interrupts work again
+
+From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+
+commit 7d9645fdca444d53907b22a4b73e3967efe09781 upstream.
+
+Commit 1c25fda4a09e8229800979986ef399401053b46e (usb: musb: handle irqs in the
+order dictated by programming guide) forgot to get rid of the old 'STAGE0_MASK'
+filter for calling musb_stage0_irq(), so now disconnect and suspend interrupts
+are effectively ignored...
+
+Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.c |    6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -371,10 +371,6 @@ void musb_hnp_stop(struct musb *musb)
+  * @param power
+  */
+-#define STAGE0_MASK (MUSB_INTR_RESUME | MUSB_INTR_SESSREQ \
+-              | MUSB_INTR_VBUSERROR | MUSB_INTR_CONNECT \
+-              | MUSB_INTR_RESET)
+-
+ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
+                               u8 devctl, u8 power)
+ {
+@@ -1520,7 +1516,7 @@ irqreturn_t musb_interrupt(struct musb *
+       /* the core can interrupt us for multiple reasons; docs have
+        * a generic interrupt flowchart to follow
+        */
+-      if (musb->int_usb & STAGE0_MASK)
++      if (musb->int_usb)
+               retval |= musb_stage0_irq(musb, musb->int_usb,
+                               devctl, power);
diff --git a/queue-2.6.34/usb-obey-the-sysfs-power-wakeup-setting.patch b/queue-2.6.34/usb-obey-the-sysfs-power-wakeup-setting.patch
new file mode 100644 (file)
index 0000000..b1e63d0
--- /dev/null
@@ -0,0 +1,66 @@
+From 48826626263d4a61d06fd8c5805da31f925aefa0 Mon Sep 17 00:00:00 2001
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Tue, 22 Jun 2010 16:14:48 -0400
+Subject: USB: obey the sysfs power/wakeup setting
+
+From: Alan Stern <stern@rowland.harvard.edu>
+
+commit 48826626263d4a61d06fd8c5805da31f925aefa0 upstream.
+
+This patch (as1403) is a partial reversion of an earlier change
+(commit 5f677f1d45b2bf08085bbba7394392dfa586fa8e "USB: fix remote
+wakeup settings during system sleep").  After hearing from a user, I
+realized that remote wakeup should be enabled during system sleep
+whenever userspace allows it, and not only if a driver requests it
+too.
+
+Indeed, there could be a device with no driver, that does nothing but
+generate a wakeup request when the user presses a button.  Such a
+device should be allowed to do its job.
+
+The problem fixed by the earlier patch -- device generating a wakeup
+request for no reason, causing system suspend to abort -- was also
+addressed by a later patch ("USB: don't enable remote wakeup by
+default", accepted but not yet merged into mainline).  The device
+won't be able to generate the bogus wakeup requests because it will be
+disabled for remote wakeup by default.  Hence this reversion will not
+re-introduce any old problems.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/driver.c |   13 +++----------
+ 1 file changed, 3 insertions(+), 10 deletions(-)
+
+--- a/drivers/usb/core/driver.c
++++ b/drivers/usb/core/driver.c
+@@ -1266,8 +1266,7 @@ static int usb_resume_both(struct usb_de
+ static void choose_wakeup(struct usb_device *udev, pm_message_t msg)
+ {
+-      int                     w, i;
+-      struct usb_interface    *intf;
++      int     w;
+       /* Remote wakeup is needed only when we actually go to sleep.
+        * For things like FREEZE and QUIESCE, if the device is already
+@@ -1279,16 +1278,10 @@ static void choose_wakeup(struct usb_dev
+               return;
+       }
+-      /* If remote wakeup is permitted, see whether any interface drivers
++      /* Enable remote wakeup if it is allowed, even if no interface drivers
+        * actually want it.
+        */
+-      w = 0;
+-      if (device_may_wakeup(&udev->dev) && udev->actconfig) {
+-              for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) {
+-                      intf = udev->actconfig->interface[i];
+-                      w |= intf->needs_remote_wakeup;
+-              }
+-      }
++      w = device_may_wakeup(&udev->dev);
+       /* If the device is autosuspended with the wrong wakeup setting,
+        * autoresume now so the setting can be changed.
diff --git a/queue-2.6.34/usb-option-add-support-for-1da5-4518.patch b/queue-2.6.34/usb-option-add-support-for-1da5-4518.patch
new file mode 100644 (file)
index 0000000..eb77550
--- /dev/null
@@ -0,0 +1,34 @@
+From 646d90e2b925578abef5c45853e0b166b6a450bf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=96mer=20Sezgin=20Ugurlu?= <omer.ugurlu@a-kent.com>
+Date: Mon, 28 Jun 2010 19:01:58 +0300
+Subject: USB: option: add support for 1da5:4518
+
+From: =?UTF-8?q?=C3=96mer=20Sezgin=20Ugurlu?= <omer.ugurlu@a-kent.com>
+
+commit 646d90e2b925578abef5c45853e0b166b6a450bf upstream.
+
+Signed-off-by: Omer Sezgin Ugurlu <omer.ugurlu@a-kent.com>
+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
+@@ -323,6 +323,7 @@ static int  option_resume(struct usb_ser
+ #define QISDA_PRODUCT_H21_4512                        0x4512
+ #define QISDA_PRODUCT_H21_4523                        0x4523
+ #define QISDA_PRODUCT_H20_4515                        0x4515
++#define QISDA_PRODUCT_H20_4518                        0x4518
+ #define QISDA_PRODUCT_H20_4519                        0x4519
+ /* TLAYTECH PRODUCTS */
+@@ -873,6 +874,7 @@ static const struct usb_device_id option
+       { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) },
+       { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) },
+       { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) },
++      { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4518) },
+       { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4519) },
+       { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_PRODUCT_G450) },
+       { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_PRODUCT_HSDPA_MINICARD ) }, /* Toshiba 3G HSDPA == Novatel Expedite EU870D MiniCard */
diff --git a/queue-2.6.34/usb-option-add-support-for-amoi-skypephone-s2.patch b/queue-2.6.34/usb-option-add-support-for-amoi-skypephone-s2.patch
new file mode 100644 (file)
index 0000000..6b4cceb
--- /dev/null
@@ -0,0 +1,39 @@
+From 7595931c986f50b1e197ce7b881563e36a7d041e Mon Sep 17 00:00:00 2001
+From: Dennis Jansen <d.g.jansen@googlemail.com>
+Date: Fri, 9 Jul 2010 22:03:53 +0200
+Subject: USB: option: Add support for AMOI Skypephone S2
+
+From: Dennis Jansen <d.g.jansen@googlemail.com>
+
+commit 7595931c986f50b1e197ce7b881563e36a7d041e upstream.
+
+usbserial: Add AMOI Skypephone S2 support.
+
+This patch adds support for the AMOI Skypephone S2 to the usbserial module.
+
+Tested-by: Dennis Jansen <Dennis.Jansen@web.de>
+Signed-off-by: Dennis Jansen <Dennis.Jansen@web.de>
+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
+@@ -227,6 +227,7 @@ static int  option_resume(struct usb_ser
+ #define AMOI_PRODUCT_H01                      0x0800
+ #define AMOI_PRODUCT_H01A                     0x7002
+ #define AMOI_PRODUCT_H02                      0x0802
++#define AMOI_PRODUCT_SKYPEPHONE_S2            0x0407
+ #define DELL_VENDOR_ID                                0x413C
+@@ -538,6 +539,7 @@ static const struct usb_device_id option
+       { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) },
+       { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) },
+       { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H02) },
++      { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_SKYPEPHONE_S2) },
+       { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5700_MINICARD) },             /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite EV620 CDMA/EV-DO */
+       { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5500_MINICARD) },             /* Dell Wireless 5500 Mobile Broadband HSDPA Mini-Card == Novatel Expedite EU740 HSDPA/3G */
diff --git a/queue-2.6.34/usb-sisusbvga-fix-for-usb-3.0.patch b/queue-2.6.34/usb-sisusbvga-fix-for-usb-3.0.patch
new file mode 100644 (file)
index 0000000..aa50c20
--- /dev/null
@@ -0,0 +1,40 @@
+From 20a12f007feee1cfa761b431047271d1141d8031 Mon Sep 17 00:00:00 2001
+From: Oliver Neukum <oliver@neukum.org>
+Date: Fri, 16 Jul 2010 17:36:26 +0200
+Subject: USB: sisusbvga: Fix for USB 3.0
+
+From: Oliver Neukum <oliver@neukum.org>
+
+commit 20a12f007feee1cfa761b431047271d1141d8031 upstream.
+
+Super speed is also fast enough to let sisusbvga operate.
+Therefor expand the checks.
+
+Signed-off-by: Oliver Neukum <oneukum@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/sisusbvga/sisusb.c |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/misc/sisusbvga/sisusb.c
++++ b/drivers/usb/misc/sisusbvga/sisusb.c
+@@ -2442,7 +2442,8 @@ sisusb_open(struct inode *inode, struct
+       }
+       if (!sisusb->devinit) {
+-              if (sisusb->sisusb_dev->speed == USB_SPEED_HIGH) {
++              if (sisusb->sisusb_dev->speed == USB_SPEED_HIGH ||
++                  sisusb->sisusb_dev->speed == USB_SPEED_SUPER) {
+                       if (sisusb_init_gfxdevice(sisusb, 0)) {
+                               mutex_unlock(&sisusb->lock);
+                               dev_err(&sisusb->sisusb_dev->dev, "Failed to initialize device\n");
+@@ -3177,7 +3178,7 @@ static int sisusb_probe(struct usb_inter
+       sisusb->present = 1;
+-      if (dev->speed == USB_SPEED_HIGH) {
++      if (dev->speed == USB_SPEED_HIGH || dev->speed == USB_SPEED_SUPER) {
+               int initscreen = 1;
+ #ifdef INCL_SISUSB_CON
+               if (sisusb_first_vc > 0 &&
diff --git a/queue-2.6.34/usb-xhci-set-mult-field-in-endpoint-context-correctly.patch b/queue-2.6.34/usb-xhci-set-mult-field-in-endpoint-context-correctly.patch
new file mode 100644 (file)
index 0000000..63f4ffb
--- /dev/null
@@ -0,0 +1,47 @@
+From c30c791c946a14a03e87819eced562ed28711961 Mon Sep 17 00:00:00 2001
+From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Date: Sat, 10 Jul 2010 15:48:01 +0200
+Subject: USB: xhci: Set Mult field in endpoint context correctly.
+
+From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+
+commit c30c791c946a14a03e87819eced562ed28711961 upstream.
+
+The bmAttributes field of the SuperSpeed Endpoint Companion Descriptor has
+different meanings, depending on the endpoint type.  If the endpoint is
+isochronous, the bmAttributes field is the maximum number of packets
+within a service interval that this endpoint supports.  If the endpoint is
+bulk, it's the number of stream IDs this endpoint supports.
+
+Only set the Mult field of the xHCI endpoint context using the
+bmAttributes field if the endpoint is isochronous, and the device is a
+SuperSpeed device.
+
+Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/xhci-mem.c |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/host/xhci-mem.c
++++ b/drivers/usb/host/xhci-mem.c
+@@ -582,7 +582,7 @@ static inline unsigned int xhci_get_endp
+       return EP_INTERVAL(interval);
+ }
+-/* The "Mult" field in the endpoint context is only set for SuperSpeed devices.
++/* The "Mult" field in the endpoint context is only set for SuperSpeed isoc eps.
+  * High speed endpoint descriptors can define "the number of additional
+  * transaction opportunities per microframe", but that goes in the Max Burst
+  * endpoint context field.
+@@ -590,7 +590,8 @@ static inline unsigned int xhci_get_endp
+ static inline u32 xhci_get_endpoint_mult(struct usb_device *udev,
+               struct usb_host_endpoint *ep)
+ {
+-      if (udev->speed != USB_SPEED_SUPER || !ep->ss_ep_comp)
++      if (udev->speed != USB_SPEED_SUPER || !ep->ss_ep_comp ||
++                      !usb_endpoint_xfer_isoc(&ep->desc))
+               return 0;
+       return ep->ss_ep_comp->desc.bmAttributes;
+ }