Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 334515
b: refs/heads/master
c: ae8963a
h: refs/heads/master
i:
  334513: 90a2d92
  334511: eb6b0bc
v: v3
  • Loading branch information
Sarah Sharp committed Oct 8, 2012
1 parent e14ef47 commit a377dbe
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d01f87c0ffa96cb44faa78710711eb6e974b891c
refs/heads/master: ae8963adb4ad8c5f2a89ca1d99fb7bb721e7599f
10 changes: 10 additions & 0 deletions trunk/drivers/usb/core/hub.c
Original file line number Diff line number Diff line change
Expand Up @@ -3415,6 +3415,16 @@ static void usb_enable_link_state(struct usb_hcd *hcd, struct usb_device *udev,
enum usb3_link_state state)
{
int timeout;
__u8 u1_mel = udev->bos->ss_cap->bU1devExitLat;
__le16 u2_mel = udev->bos->ss_cap->bU2DevExitLat;

/* If the device says it doesn't have *any* exit latency to come out of
* U1 or U2, it's probably lying. Assume it doesn't implement that link
* state.
*/
if ((state == USB3_LPM_U1 && u1_mel == 0) ||
(state == USB3_LPM_U2 && u2_mel == 0))
return;

/* We allow the host controller to set the U1/U2 timeout internally
* first, so that it can change its schedule to account for the
Expand Down

0 comments on commit a377dbe

Please sign in to comment.