]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: host: ehci: use new USB_RESUME_TIMEOUT
authorFelipe Balbi <balbi@ti.com>
Fri, 13 Feb 2015 20:42:25 +0000 (14:42 -0600)
committerLuis Henriques <luis.henriques@canonical.com>
Tue, 5 May 2015 10:09:45 +0000 (11:09 +0100)
commit ea16328f80ca8d74434352157f37ef60e2f55ce2 upstream.

Make sure we're using the new macro, so our
resume signaling will always pass certification.

Signed-off-by: Felipe Balbi <balbi@ti.com>
[ luis: backported to 3.16:
  - replaced 'hub_wq' by 'khubd' in comment ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
drivers/usb/host/ehci-hcd.c
drivers/usb/host/ehci-hub.c

index 488a30836c36cbee57f2e16f7813db7075891699..03d334172ed9e363ae3c01d5e490337c3d567ed3 100644 (file)
@@ -787,12 +787,12 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
                                        ehci->reset_done[i] == 0))
                                continue;
 
-                       /* start 20 msec resume signaling from this port,
-                        * and make khubd collect PORT_STAT_C_SUSPEND to
-                        * stop that signaling.  Use 5 ms extra for safety,
-                        * like usb_port_resume() does.
+                       /* start USB_RESUME_TIMEOUT msec resume signaling from
+                        * this port, and make khubd collect
+                        * PORT_STAT_C_SUSPEND to stop that signaling.
                         */
-                       ehci->reset_done[i] = jiffies + msecs_to_jiffies(25);
+                       ehci->reset_done[i] = jiffies +
+                               msecs_to_jiffies(USB_RESUME_TIMEOUT);
                        set_bit(i, &ehci->resuming_ports);
                        ehci_dbg (ehci, "port %d remote wakeup\n", i + 1);
                        usb_hcd_start_port_resume(&hcd->self, i);
index 6130b757490893a471dd3cbfa33026e8b8738071..837a1edd33e251d9fccb271f66e7d9863fc150ca 100644 (file)
@@ -473,10 +473,13 @@ static int ehci_bus_resume (struct usb_hcd *hcd)
                ehci_writel(ehci, temp, &ehci->regs->port_status [i]);
        }
 
-       /* msleep for 20ms only if code is trying to resume port */
+       /*
+        * msleep for USB_RESUME_TIMEOUT ms only if code is trying to resume
+        * port
+        */
        if (resume_needed) {
                spin_unlock_irq(&ehci->lock);
-               msleep(20);
+               msleep(USB_RESUME_TIMEOUT);
                spin_lock_irq(&ehci->lock);
                if (ehci->shutdown)
                        goto shutdown;
@@ -944,7 +947,7 @@ int ehci_hub_control(
                        temp &= ~PORT_WAKE_BITS;
                        ehci_writel(ehci, temp | PORT_RESUME, status_reg);
                        ehci->reset_done[wIndex] = jiffies
-                                       + msecs_to_jiffies(20);
+                                       + msecs_to_jiffies(USB_RESUME_TIMEOUT);
                        set_bit(wIndex, &ehci->resuming_ports);
                        usb_hcd_start_port_resume(&hcd->self, wIndex);
                        break;