From 81060bb1c02abb242b73f118ce297dbe483a40f7 Mon Sep 17 00:00:00 2001 From: Bin Meng Date: Wed, 19 Jul 2017 21:51:18 +0800 Subject: usb: hub: Call usb_update_hub_device() after hub descriptor is fetched 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 Reviewed-by: Simon Glass --- common/usb_hub.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'common/usb_hub.c') diff --git a/common/usb_hub.c b/common/usb_hub.c index bbb11550896..70bc6e29311 100644 --- a/common/usb_hub.c +++ b/common/usb_hub.c @@ -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 -- cgit v1.2.3