After fetching hub descriptor, we need call USB uclass operation update_hub_device() to notify HCD to do some preparation work.
Signed-off-by: Bin Meng <bmeng...@gmail.com> --- common/usb_hub.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/usb_hub.c b/common/usb_hub.c index 4911981..2fc544e 100644 --- a/common/usb_hub.c +++ b/common/usb_hub.c @@ -782,6 +782,17 @@ static int usb_hub_configure(struct usb_device *dev) #ifdef CONFIG_DM_USB /* + * Update USB host controller's internal representation of this hub + * after the hub descriptor is fetched. + */ + ret = usb_update_hub_device(dev); + if (ret < 0 && ret != -ENOSYS) { + debug("%s: failed to update hub device for HCD (%x)\n", + __func__, ret); + return ret; + } + + /* * A maximum of seven tiers are allowed in a USB topology, and the * root hub occupies the first tier. The last tier ends with a normal * USB device. USB 3.0 hubs use a 20-bit field called 'route string' -- 2.9.2 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot