usb: host: ehci: use new USB_RESUME_TIMEOUT
authorFelipe Balbi <balbi@ti.com>
Fri, 13 Feb 2015 20:42:25 +0000 (14:42 -0600)
committerSasha Levin <sasha.levin@oracle.com>
Sun, 17 May 2015 23:12:02 +0000 (19:12 -0400)
[ Upstream commit ea16328f80ca8d74434352157f37ef60e2f55ce2 ]

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

Cc: <stable@vger.kernel.org> # v3.10+
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/usb/host/ehci-hcd.c
drivers/usb/host/ehci-hub.c

index 15feaf924b71aea658fa8529bcea1f3c3d53256f..3df32fa8c8ae242b5a97fff439daeb4904037577 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 hub_wq 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 hub_wq 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 5728829cf6ef0e631df75ba69d77ae04c5c26fbc..ecd5d6a55ca3652da0ce9ff81b87714269ce552e 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;