[U-Boot] [PATCH 2/2 v2] usb: musb: Fix hub port number for SPLIT transactions

Marek Vasut marex at denx.de
Mon Dec 21 21:27:01 CET 2015


On Monday, December 21, 2015 at 08:33:31 PM, Hans de Goede wrote:
> Hi,
> 
> On 19-12-15 21:16, Stefan Brüns wrote:
> > The ifdef'ed Linux kernel code uses the 1 based port number, whereas
> > U-Boot puts a 0 based port number into the register. The reason the 0
> > based port number apparently works can probably be taken from the USB
> > 2.0 spec:
> > 
> > 8.4.2.2 Start-Split Transaction Token
> > ... The host must correctly set the port field for single and multiple TT
> > hub implementations. A single TT hub implementation *may ignore* the port
> > field.
> > 
> > Actually, as far as I unterstand, a multi TT hub defaults to single TT
> > (bAlternateSetting: 0) until switched via SetInterface, so even "port 42"
> > would work.
> > 
> > The change was verified by hardcoding the port number to a wrong value,
> > SPLIT transactions kept working (although using a DWC2 instead of MUSB).
> > Tested hubs are the RPi onboard SMC9514 and an external "05e3:0608
> > Genesys Logic, Inc. USB-2.0 4-Port HUB". The former is a multi TT hub,
> > the latter single TT only.
> > 
> > Signed-off-by: Stefan Brüns <stefan.bruens at rwth-aachen.de>
> > ---
> > 
> >   drivers/usb/musb-new/musb_host.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/usb/musb-new/musb_host.c
> > b/drivers/usb/musb-new/musb_host.c index fc4ba62..5c028d4 100644
> > --- a/drivers/usb/musb-new/musb_host.c
> > +++ b/drivers/usb/musb-new/musb_host.c
> > @@ -2096,7 +2096,7 @@ int musb_urb_enqueue(
> > 
> >   				uint8_t hubaddr = 0;
> >   				usb_find_usb2_hub_address_port(udev, &hubaddr, 
&portnr)
> >   				qh->h_addr_reg = hubaddr;
> > 
> > -				qh->h_port_reg = portnr - 1;
> > +				qh->h_port_reg = portnr;
> > 
> >   			}
> >   
> >   #endif
> >   
> >   		}
> 
> This patch needs to be re-spun to apply on top of the compile fixed [patch
> 1/2] of this set. With that done this patch is:
> 
> Reviewed-by: Hans de Goede <hdegoede at redhat.com>
> Tested-by: Hans de Goede <hdegoede at redhat.com>

OK, would you, Stefan, please resend the patchset with the necessary Reviewed-by
etc so I can pick it ? This thread is a chaos and I am lost. 

Thanks!

Best regards,
Marek Vasut


More information about the U-Boot mailing list