diff options
author | Ajay Gupta <ajayg@nvidia.com> | 2013-04-11 14:49:02 -0700 |
---|---|---|
committer | Mrutyunjay Sawant <msawant@nvidia.com> | 2013-04-15 00:49:27 -0700 |
commit | f6c10e266f624c5859a8334eb4e516c66e3a5830 (patch) | |
tree | 04e78ececc913ceb0179c24e6a7db78d5169d810 /drivers/usb | |
parent | 51b7792dd3ff3851f51d509d78fd11b996f95473 (diff) |
usb: xhci: tegra: Add resume recovery delay of 10ms
This is needed as per usb2.0 spec section 9.2.6.2
Bug 1261769
Bug 1267127
Change-Id: Ib6c485ec93f478b88b48979a0182b3e702e7e49b
Signed-off-by: Ajay Gupta <ajayg@nvidia.com>
Reviewed-on: http://git-master/r/218672
Reviewed-by: Henry Lin <henryl@nvidia.com>
Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/xhci-hub.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c index 2bb098dff111..9f762d529675 100644 --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c @@ -634,6 +634,14 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, clear_bit(wIndex, &bus_state->resuming_ports); xhci_set_link_state(xhci, port_array, wIndex, XDEV_U0); + + /* add reset/resume recovery time of 10ms + * per usb2.0 spec section 9.2.6.2 + */ + spin_unlock_irqrestore(&xhci->lock, flags); + msleep(10); + spin_lock_irqsave(&xhci->lock, flags); + xhci_dbg(xhci, "set port %d resume\n", wIndex + 1); slot_id = xhci_find_slot_id_by_port(hcd, xhci, |