]> git.sur5r.net Git - u-boot/commitdiff
usb: hub: Call usb_update_hub_device() after hub descriptor is fetched
authorBin Meng <bmeng.cn@gmail.com>
Wed, 19 Jul 2017 13:51:18 +0000 (21:51 +0800)
committerMarek Vasut <marex@denx.de>
Fri, 28 Jul 2017 21:34:35 +0000 (23:34 +0200)
After fetching hub descriptor, we need to call USB uclass operation
update_hub_device() to notify HCD to do some preparation work.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
common/usb_hub.c

index bbb1155089644f24379c947ef86844dc16f5486a..70bc6e2931164d31fd0f86ad71a314b713870c9b 100644 (file)
@@ -788,6 +788,17 @@ static int usb_hub_configure(struct usb_device *dev)
              "" : "no ");
 
 #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