diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-06-23 16:23:24 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-06-23 16:23:24 -0400 |
commit | 6fe21b906b8034bba681ac00a1388bb307279fdb (patch) | |
tree | 30d4c5247f65c6636d845871df51da7a5c5a1a9a | |
parent | 2c5a903a40d6d95f897c08f40e50ce8b48263fa4 (diff) | |
download | longterm-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.patch | 35 | ||||
-rw-r--r-- | queue/USB-fix-regression-in-usbip-by-setting-has_tt-flag.patch | 37 | ||||
-rw-r--r-- | queue/series | 4 | ||||
-rw-r--r-- | queue/usb-musb-core-set-has_tt-flag.patch | 39 |
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 + |