aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/class
diff options
context:
space:
mode:
authorGeoff Levand <[email protected]>2011-12-01 00:40:57 +0000
committerGeoff Levand <[email protected]>2011-12-08 17:38:53 +0000
commitdf7c1ca229ebffe14a6fb3f13d16b1dd2a1731cb (patch)
treeeb99177373815ded62106db7423a022520402fa7 /drivers/usb/class
parentusb: PS3 EHCI HC reset work-around (diff)
downloadkernel-df7c1ca229ebffe14a6fb3f13d16b1dd2a1731cb.tar.gz
kernel-df7c1ca229ebffe14a6fb3f13d16b1dd2a1731cb.zip
usb: Fix PS3 EHCI suspend
The EHCI USB controller of the Cell Super Companion Chip used in the PS3 will stop the root hub after all root hub ports are suspended. When in this condition the ehci-hcd handshake routine will return -ETIMEDOUT and the USB runtime suspend sequence will fail. The STS_HLT bit will not be set, so inspection of the frame index is used to test for the condition. Add a new routine handshake_for_broken_root_hub() that is called after an unsuccessful -ETIMEDOUT handshake. On PS3 handshake_for_broken_root_hub() will test for the condition, and if found will return success to allow the USB suspend to complete. For all other platforms handshake_for_broken_root_hub() will return -ETIMEDOUT Signed-off-by: Geoff Levand <[email protected]> Signed-off-by: Alan Stern <[email protected]>
Diffstat (limited to 'drivers/usb/class')
0 files changed, 0 insertions, 0 deletions