diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-02-19 23:29:20 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-02-22 08:11:18 +0100 |
commit | 956fc9cc056abc878256298e05745fc76732c82c (patch) | |
tree | 60146503be5c2d34383828c196b5d9852e3a9487 /drivers | |
parent | afaeb00ca1b9292d892c6bc5e481dfa34722e400 (diff) | |
download | barebox-956fc9cc056abc878256298e05745fc76732c82c.tar.gz barebox-956fc9cc056abc878256298e05745fc76732c82c.tar.xz |
usb: xhci-hcd: Simplify route string building loop
Simplify route string building loop by avoiding checking
top_dev->parent->descriptor->bDeviceClass twice.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/host/xhci-hcd.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/host/xhci-hcd.c b/drivers/usb/host/xhci-hcd.c index 5174463793..32a6ccd5cd 100644 --- a/drivers/usb/host/xhci-hcd.c +++ b/drivers/usb/host/xhci-hcd.c @@ -947,10 +947,12 @@ static int xhci_virtdev_init(struct xhci_virtual_device *vdev) */ for (top_dev = vdev->udev; top_dev->parent && top_dev->parent->parent; top_dev = top_dev->parent) { - if (top_dev->parent->descriptor->bDeviceClass == USB_CLASS_HUB) - route = (route << 4) | (top_dev->portnr & 0xf); - if (top_dev->parent->descriptor->bDeviceClass == USB_CLASS_HUB && - top_dev->parent->speed != USB_SPEED_LOW && + if (top_dev->parent->descriptor->bDeviceClass != USB_CLASS_HUB) + continue; + + route = (route << 4) | (top_dev->portnr & 0xf); + + if (top_dev->parent->speed != USB_SPEED_LOW && top_dev->parent->speed != USB_SPEED_FULL) { on_hs_hub = true; if (!hs_slot_id) { |