aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/option.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2014-02-13 15:49:17 -0500
committerBen Hutchings <ben@decadent.org.uk>2014-04-02 00:58:53 +0100
commitb9ba959f2b51aeb0527d1445982e287272134f0b (patch)
tree20c6133a5377caf15b1305a4c2d2ce06c9d3e9dc /drivers/usb/serial/option.c
parent4da411ab87cfe8e7ae19da2544eca690282f56f0 (diff)
downloadkernel_samsung_smdk4412-b9ba959f2b51aeb0527d1445982e287272134f0b.zip
kernel_samsung_smdk4412-b9ba959f2b51aeb0527d1445982e287272134f0b.tar.gz
kernel_samsung_smdk4412-b9ba959f2b51aeb0527d1445982e287272134f0b.tar.bz2
USB: EHCI: add delay during suspend to prevent erroneous wakeups
commit 3e8d6d85adedc59115a564c0a54b36e42087c4d9 upstream. High-speed USB connections revert back to full-speed signalling when the device goes into suspend. This takes several milliseconds, and during that time it's not possible to tell reliably whether the device has been disconnected. On some platforms, the Wake-On-Disconnect circuitry gets confused during this intermediate state. It generates a false wakeup signal, which can prevent the controller from going to sleep. To avoid this problem, this patch adds a 5-ms delay to the ehci_bus_suspend() routine if any ports have to switch over to full-speed signalling. (Actually, the delay was already present for devices using a particular kind of PHY power management; the patch merely causes the delay to be used more widely.) Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Reviewed-by: Peter Chen <Peter.Chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> [bwh: Backported to 3.2: - Adjust context - s/has_tdi_phy_lpm/has_hostpc/ - Always re-lock ehci->lock after the sleep] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/usb/serial/option.c')
0 files changed, 0 insertions, 0 deletions