summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-mem.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2011-06-15 14:57:39 -0600
committerGrant Likely <grant.likely@secretlab.ca>2011-06-15 14:57:39 -0600
commit2bc7c85210d75b7a8a7326284b4f608a16f52ffc (patch)
treeca306d89f64ceeee92531cc0a9ba5d246d09f044 /drivers/usb/host/xhci-mem.c
parent12610be33df5563d3f8cb141f231d4dc5b2a317f (diff)
parentdf2212270ce94f12e9caed6ca04c7077672d588e (diff)
downloadtalos-op-linux-2bc7c85210d75b7a8a7326284b4f608a16f52ffc.tar.gz
talos-op-linux-2bc7c85210d75b7a8a7326284b4f608a16f52ffc.zip
Merge branch 'gpio/next-tegra' into gpio/next
Conflicts: drivers/gpio/Kconfig drivers/gpio/Makefile
Diffstat (limited to 'drivers/usb/host/xhci-mem.c')
-rw-r--r--drivers/usb/host/xhci-mem.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index 26caba4c1950..0f8e1d29a858 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -985,9 +985,19 @@ static unsigned int xhci_parse_exponent_interval(struct usb_device *udev,
interval = clamp_val(ep->desc.bInterval, 1, 16) - 1;
if (interval != ep->desc.bInterval - 1)
dev_warn(&udev->dev,
- "ep %#x - rounding interval to %d microframes\n",
+ "ep %#x - rounding interval to %d %sframes\n",
ep->desc.bEndpointAddress,
- 1 << interval);
+ 1 << interval,
+ udev->speed == USB_SPEED_FULL ? "" : "micro");
+
+ if (udev->speed == USB_SPEED_FULL) {
+ /*
+ * Full speed isoc endpoints specify interval in frames,
+ * not microframes. We are using microframes everywhere,
+ * so adjust accordingly.
+ */
+ interval += 3; /* 1 frame = 2^3 uframes */
+ }
return interval;
}
OpenPOWER on IntegriCloud