aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb
diff options
context:
space:
mode:
authorAjay Kumar Gupta <ajay.gupta@ti.com>2008-09-11 04:53:20 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-10-17 17:40:58 -0400
commitae5ad2963939d24eb77b8fa725d0703dc0f97a47 (patch)
treec3352e773109d9b54086717363e95ebbf9301da8 /drivers/usb/musb
parenteaa3246e7dbddd7a029bef22e8b80cbab03466a2 (diff)
OMAP:MUSB: Fixes the TT programming.
Fixes enumeration failures when a USB device attached to a LS hub is connected to OMAP EVM via HS hub. This is fixed by correctly programming hub address register in enqueue path. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r--drivers/usb/musb/musb_host.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index 8b4be012669a..fcd72b54c851 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -1873,7 +1873,11 @@ static int musb_urb_enqueue(
1873 /* set up tt info if needed */ 1873 /* set up tt info if needed */
1874 if (urb->dev->tt) { 1874 if (urb->dev->tt) {
1875 qh->h_port_reg = (u8) urb->dev->ttport; 1875 qh->h_port_reg = (u8) urb->dev->ttport;
1876 qh->h_addr_reg |= 0x80; 1876 if (urb->dev->tt->hub)
1877 qh->h_addr_reg =
1878 (u8) urb->dev->tt->hub->devnum;
1879 if (urb->dev->tt->multi)
1880 qh->h_addr_reg |= 0x80;
1877 } 1881 }
1878 } 1882 }
1879 } 1883 }