summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2011-06-23 16:23:24 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-06-23 16:23:24 -0400
commit6fe21b906b8034bba681ac00a1388bb307279fdb (patch)
tree30d4c5247f65c6636d845871df51da7a5c5a1a9a
parent2c5a903a40d6d95f897c08f40e50ce8b48263fa4 (diff)
downloadlongterm-queue-2.6.34-6fe21b906b8034bba681ac00a1388bb307279fdb.tar.gz
usb: fixups for transaction translators
As taken from stable mailing list: On Thu, 23 Jun 2011, Paul Gortmaker wrote: > From: Alan Stern <stern@rowland.harvard.edu> > > ------------------- > This is a commit scheduled for the next v2.6.34 longterm release. > If you see a problem with using this for longterm, please comment. > ------------------- > > commit d199c96d41d80a567493e12b8e96ea056a1350c1 upstream. > > If anyone comes across a high-speed hub that (by mistake or by design) > claims to have no Transaction Translators, plugging a full- or > low-speed device into it will cause the USB stack to crash. This > patch (as1446) prevents the problem by ignoring such devices, since > the kernel has no way to communicate with them. This commit had some unexpected fallout. It shouldn't be merged unless the following upstream commits are also merged: c5c69f3f0dcf9b569c8f3ad67f3af92cfcedac43 cee6a262550f53a13acfefbc1e3e5ff35c96182c ec95d35a6bd0047f05fe8a21e6c52f8bb418da55 Alan Stern Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/USB-dummy-hcd-needs-the-has_tt-flag.patch35
-rw-r--r--queue/USB-fix-regression-in-usbip-by-setting-has_tt-flag.patch37
-rw-r--r--queue/series4
-rw-r--r--queue/usb-musb-core-set-has_tt-flag.patch39
4 files changed, 115 insertions, 0 deletions
diff --git a/queue/USB-dummy-hcd-needs-the-has_tt-flag.patch b/queue/USB-dummy-hcd-needs-the-has_tt-flag.patch
new file mode 100644
index 0000000..0c5edef
--- /dev/null
+++ b/queue/USB-dummy-hcd-needs-the-has_tt-flag.patch
@@ -0,0 +1,35 @@
+From 624d75c0e95c29039d1e01201bbc27c2628ecde4 Mon Sep 17 00:00:00 2001
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Tue, 7 Jun 2011 11:33:01 -0400
+Subject: [PATCH] USB: dummy-hcd needs the has_tt flag
+
+commit c5c69f3f0dcf9b569c8f3ad67f3af92cfcedac43 upstream.
+
+Like with other host controllers capable of operating at both high
+speed and full speed, we need to indicate that the emulated controller
+presented by dummy-hcd has this ability. Otherwise usbcore will not
+accept full-speed gadgets under dummy-hcd. This patch (as1469) sets
+the appropriate has_tt flag.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
+---
+ drivers/usb/gadget/dummy_hcd.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
+index 5e09664..7adb671 100644
+--- a/drivers/usb/gadget/dummy_hcd.c
++++ b/drivers/usb/gadget/dummy_hcd.c
+@@ -1886,6 +1886,7 @@ static int dummy_hcd_probe(struct platform_device *pdev)
+ if (!hcd)
+ return -ENOMEM;
+ the_controller = hcd_to_dummy (hcd);
++ hcd->has_tt = 1;
+
+ retval = usb_add_hcd(hcd, 0, 0);
+ if (retval != 0) {
+--
+1.7.4.4
+
diff --git a/queue/USB-fix-regression-in-usbip-by-setting-has_tt-flag.patch b/queue/USB-fix-regression-in-usbip-by-setting-has_tt-flag.patch
new file mode 100644
index 0000000..fe8a410
--- /dev/null
+++ b/queue/USB-fix-regression-in-usbip-by-setting-has_tt-flag.patch
@@ -0,0 +1,37 @@
+From eea2ff8a316eb227520a231ab4940f0e86c3df00 Mon Sep 17 00:00:00 2001
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Mon, 2 May 2011 14:21:44 -0400
+Subject: [PATCH] USB: fix regression in usbip by setting has_tt flag
+
+commit cee6a262550f53a13acfefbc1e3e5ff35c96182c upstream.
+
+This patch (as1460) fixes a regression in the usbip driver caused by
+the new check for Transaction Translators in USB-2 hubs. The root hub
+registered by vhci_hcd needs to have the has_tt flag set, because it
+can connect to low- and full-speed devices as well as high-speed
+devices.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Reported-and-tested-by: Nikola Ciprich <nikola.ciprich@linuxbox.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
+---
+ drivers/staging/usbip/vhci_hcd.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
+index fd4cc48..dfdbd8a 100644
+--- a/drivers/staging/usbip/vhci_hcd.c
++++ b/drivers/staging/usbip/vhci_hcd.c
+@@ -1135,7 +1135,7 @@ static int vhci_hcd_probe(struct platform_device *pdev)
+ usbip_uerr("create hcd failed\n");
+ return -ENOMEM;
+ }
+-
++ hcd->has_tt = 1;
+
+ /* this is private data for vhci_hcd */
+ the_controller = hcd_to_vhci(hcd);
+--
+1.7.4.4
+
diff --git a/queue/series b/queue/series
index 2747450..82a9b5c 100644
--- a/queue/series
+++ b/queue/series
@@ -23,6 +23,10 @@ USB-ftdi_sio-add-ST-Micro-Connect-Lite-uart-support.patch
USB-cdc-acm-Adding-second-ACM-channel-support-for-No.patch
USB-ftdi_sio-Add-VID-0x0647-PID-0x0100-for-Acton-Res.patch
USB-prevent-buggy-hubs-from-crashing-the-USB-stack.patch
+# from stable ML, next three need to be used with above.
+usb-musb-core-set-has_tt-flag.patch
+USB-fix-regression-in-usbip-by-setting-has_tt-flag.patch
+USB-dummy-hcd-needs-the-has_tt-flag.patch
staging-comedi-add-support-for-newer-jr3-1-channel-p.patch
staging-comedi-ni_labpc-Use-shared-IRQ-for-PCMCIA-ca.patch
Staging-hv-fix-sysfs-symlink-on-hv-block-device.patch
diff --git a/queue/usb-musb-core-set-has_tt-flag.patch b/queue/usb-musb-core-set-has_tt-flag.patch
new file mode 100644
index 0000000..aa9ba7c
--- /dev/null
+++ b/queue/usb-musb-core-set-has_tt-flag.patch
@@ -0,0 +1,39 @@
+From 8b7fad64b1d7d84e1773c127dc88d5a567643d7e Mon Sep 17 00:00:00 2001
+From: Felipe Balbi <balbi@ti.com>
+Date: Thu, 24 Feb 2011 10:36:53 +0200
+Subject: [PATCH] usb: musb: core: set has_tt flag
+
+commit ec95d35a6bd0047f05fe8a21e6c52f8bb418da55 upstream.
+
+MUSB is a non-standard host implementation which
+can handle all speeds with the same core. We need
+to set has_tt flag after commit
+d199c96d41d80a567493e12b8e96ea056a1350c1 (USB: prevent
+buggy hubs from crashing the USB stack) in order for
+MUSB HCD to continue working.
+
+Signed-off-by: Felipe Balbi <balbi@ti.com>
+Cc: Alan Stern <stern@rowland.harvard.edu>
+Tested-by: Michael Jones <michael.jones@matrix-vision.de>
+Tested-by: Alexander Holler <holler@ahsoftware.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
+---
+ drivers/usb/musb/musb_core.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
+index 8891241..3cd2567 100644
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -1790,6 +1790,7 @@ allocate_instance(struct device *dev,
+ INIT_LIST_HEAD(&musb->out_bulk);
+
+ hcd->uses_new_polling = 1;
++ hcd->has_tt = 1;
+
+ musb->vbuserr_retry = VBUSERR_RETRY_COUNT;
+ musb->a_wait_bcon = OTG_TIME_A_WAIT_BCON;
+--
+1.7.4.4
+