diff options
author | Julius Werner <jwerner@chromium.org> | 2015-07-09 16:29:10 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-07-18 09:40:48 +0200 |
commit | 752fba784681c2af0611a9d52ee1e8e2db8969a0 (patch) | |
tree | d8edfcd5056c559bd21ea4dfaf78aed9637c5ba4 /payloads/libpayload/drivers/usb/xhci_debug.c | |
parent | e44a4e8787b5388f63983c4460b495f53425162c (diff) | |
download | coreboot-752fba784681c2af0611a9d52ee1e8e2db8969a0.tar.xz |
libpayload: usb: Add support for SuperSpeed hubs
This patch adds support for the SuperSpeed half of USB 3.0 hubs, which
previously prevented SuperSpeed devices behind those hubs from working.
BRANCH=None
BUG=chrome-os-partner:39877
TEST=Played around with multiple hubs and devices on Oak and Falco, can
no longer find a combination that doesn't work.
Change-Id: I20815be95769e33d399b7ad91c3020687234e059
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 3db96ece20d2304e7f6f6aa333cf114037c48a3e
Original-Change-Id: I2dd6c9c3607a24a7d78c308911e3d254d5f8d91d
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/284577
Original-Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Tested-by: chunfeng yun <chunfeng.yun@mediatek.com>
Reviewed-on: http://review.coreboot.org/10958
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'payloads/libpayload/drivers/usb/xhci_debug.c')
-rw-r--r-- | payloads/libpayload/drivers/usb/xhci_debug.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/payloads/libpayload/drivers/usb/xhci_debug.c b/payloads/libpayload/drivers/usb/xhci_debug.c index d50f6dba30..f8d2309612 100644 --- a/payloads/libpayload/drivers/usb/xhci_debug.c +++ b/payloads/libpayload/drivers/usb/xhci_debug.c @@ -80,8 +80,8 @@ xhci_dump_devctx(const devctx_t *const dc, const u32 ctx_mask) int i; if (ctx_mask & 1) xhci_dump_slotctx(dc->slot); - for (i = 0; i < SC_GET(CTXENT, dc->slot); ++i) { - if (ctx_mask & (2 << i)) + for (i = 1; i <= SC_GET(CTXENT, dc->slot); ++i) { + if (ctx_mask & (1 << i)) xhci_dump_epctx(dc->ep[i]); } } |