aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/usb/generic_hub.c
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/drivers/usb/generic_hub.c')
-rw-r--r--payloads/libpayload/drivers/usb/generic_hub.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/payloads/libpayload/drivers/usb/generic_hub.c b/payloads/libpayload/drivers/usb/generic_hub.c
index 9d444ee792..7263400840 100644
--- a/payloads/libpayload/drivers/usb/generic_hub.c
+++ b/payloads/libpayload/drivers/usb/generic_hub.c
@@ -218,9 +218,11 @@ generic_hub_poll(usbdev_t *const dev)
if (!hub)
return;
- if (hub->ops->hub_status_changed &&
- hub->ops->hub_status_changed(dev) != 1)
+ if (!(dev->quirks & USB_QUIRK_HUB_NO_USBSTS_PCD) &&
+ hub->ops->hub_status_changed &&
+ hub->ops->hub_status_changed(dev) != 1) {
return;
+ }
int port;
for (port = 1; port <= hub->num_ports; ++port) {