summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.17/0029-EHCI-fix-criterion-for-resuming-the-root-hub.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.17/0029-EHCI-fix-criterion-for-resuming-the-root-hub.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.17/0029-EHCI-fix-criterion-for-resuming-the-root-hub.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.17/0029-EHCI-fix-criterion-for-resuming-the-root-hub.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.17/0029-EHCI-fix-criterion-for-resuming-the-root-hub.patch
new file mode 100644
index 00000000..ca463cc4
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.17/0029-EHCI-fix-criterion-for-resuming-the-root-hub.patch
@@ -0,0 +1,48 @@
1From 611589daeef0bd0f6b36f1fbb17f34b6abf05568 Mon Sep 17 00:00:00 2001
2From: Alan Stern <stern@rowland.harvard.edu>
3Date: Tue, 17 Apr 2012 15:24:15 -0400
4Subject: [PATCH 029/165] EHCI: fix criterion for resuming the root hub
5
6commit dc75ce9d929aabeb0843a6b1a4ab320e58ba1597 upstream.
7
8This patch (as1542) changes the criterion ehci-hcd uses to tell when
9it needs to resume the controller's root hub. A resume is needed when
10a port status change is detected, obviously, but only if the root hub
11is currently suspended.
12
13Right now the driver tests whether the root hub is running, and that
14is not the correct test. In particular, if the controller has died
15then the root hub should not be restarted. In addition, some buggy
16hardware occasionally requires the root hub to be running and
17sending out SOF packets even while it is nominally supposed to be
18suspended.
19
20In the end, the test needs to be changed. Rather than checking whether
21the root hub is currently running, the driver will now check whether
22the root hub is currently suspended. This will yield the correct
23behavior in all cases.
24
25Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
26CC: Peter Chen <B29397@freescale.com>
27Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
29---
30 drivers/usb/host/ehci-hcd.c | 2 +-
31 1 files changed, 1 insertions(+), 1 deletions(-)
32
33diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
34index 3ff9f82..ffbbf54 100644
35--- a/drivers/usb/host/ehci-hcd.c
36+++ b/drivers/usb/host/ehci-hcd.c
37@@ -867,7 +867,7 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
38 pcd_status = status;
39
40 /* resume root hub? */
41- if (!(cmd & CMD_RUN))
42+ if (ehci->rh_state == EHCI_RH_SUSPENDED)
43 usb_hcd_resume_root_hub(hcd);
44
45 /* get per-port change detect bits */
46--
471.7.7.6
48