usb: Send Set SEL before enabling parent U1/U2 timeout.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Fri, 5 Oct 2012 17:32:07 +0000 (10:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Oct 2012 17:56:14 +0000 (10:56 -0700)
commit4e0532a22664501721fdd89a00d61948c1e34a23
tree83b74a32ce7e7b312714a02c7fbe62411a714296
parent094c5b6410392321492c59603879f8ec7d87358a
usb: Send Set SEL before enabling parent U1/U2 timeout.

commit 65a95b75bc5afa7bbb844e222481044c1c4767eb upstream.

The Set SEL control transfer tells a device the exit latencies
associated with a device-initated U1 or U2 exit.  Since a parent hub may
initiate a transition to U1 soon after a downstream port's U1 timeout is
set, we need to make sure the device receives the Set SEL transfer
before the parent hub timeout is set.

This patch should be backported to kernels as old as 3.5, that contain
the commit 1ea7e0e8e3d0f50901d335ea4178ab2aa8c88201 "USB: Add support to
enable/disable USB3 link states."

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/hub.c