From: Sergei Shtylyov Date: Sat, 27 Feb 2010 18:32:17 +0000 (+0300) Subject: EHCI: fix off-by-one error in ehci_submit_root() X-Git-Tag: v2010.06-rc1~118^2~4 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e06a055bcd966adf62a5653c84db781915392e41;p=oweals%2Fu-boot.git EHCI: fix off-by-one error in ehci_submit_root() USB devices on the 2nd port are not detected and I get the following message: The request port(1) is not configured That's with default CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS value of 2. 'req->index' is 1-based, so the comparison in ehci_submit_root() can't be correct. Signed-off-by: Sergei Shtylyov --- diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index e48819f32e..d90a23a1f1 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -536,7 +536,7 @@ ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer, uint32_t reg; uint32_t *status_reg; - if (le16_to_cpu(req->index) >= CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS) { + if (le16_to_cpu(req->index) > CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS) { printf("The request port(%d) is not configured\n", le16_to_cpu(req->index) - 1); return -1;