[U-Boot] [xHCI] Controller failure with USB 3.0 hub

Marek Vasut marek.vasut at gmail.com
Sat May 19 11:30:13 UTC 2018


On 05/19/2018 01:09 PM, Bin Meng wrote:
> Hi Marek,

Hi,

> On Sat, May 19, 2018 at 9:03 AM, Marek Vasut <marek.vasut at gmail.com> wrote:
>> Hello Bin,
>>
>> I noticed a potential bug in the U-Boot xHCI implementation. I observe
>> this one Renesas RCar Gen3 platform.
>>
>> If I plug a USB 3.0 hub into the root port, I see the following error:
>>   ERROR: Configure Endpoint command returned completion code 5.
>> If I plug a USB 3.0 stick into the root port, I do not get the error and
>> the stick is correctly detected.
>>
>> Example with the USB 3.0 hub:
>>
>> => usb reset
>> resetting USB...
>> USB0:   Register 2000120 NbrPorts 2
>> Starting the controller
>> USB XHCI 1.00
>> USB1:   USB EHCI 1.10
>> USB2:   USB EHCI 1.10
>> USB3:   USB EHCI 1.10
>> ******** HERE ********
>> scanning bus 0 for devices... ERROR: Configure Endpoint command returned
>> completion code 5.
> 
> Completion code 5 means TRB parameter error, guess the Renesas xHC has
> some checks on the TRB.

Do you have xhci spec chapter reference/number for me too ? :)

> Can you try the following patch to see if it makes any difference?
> 
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index 3adb002..eec3f64 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -1453,6 +1453,8 @@ static int xhci_update_hub_device(struct udevice
> *dev, struct usb_device *udev)
>         if (udev->speed == USB_SPEED_HIGH)
>                 slot_ctx->tt_info |= cpu_to_le32(TT_THINK_TIME(think_time));
> 
> +       slot_ctx->dev_state = 0;
> +
>         return xhci_configure_endpoints(udev, false);
>  }

Doesn't make any difference, sorry.

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list