From c474179f9a6428bb81a78d20f43cf982125d5d34 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 10 May 2020 02:43:39 +0200 Subject: [PATCH] usbxhci: fix wrong control endpoint 0 output device context address the calculation for the control endpoint0 output device context missed the context size scaling shift, resulting in botched stall handling as we would not read the correct endpoint status value. note, this calculation only affected control endpoint 0, which was handled separately from all other endpoints. --- sys/src/9/port/usbxhci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/src/9/port/usbxhci.c b/sys/src/9/port/usbxhci.c index ab30aa040..f9b61438e 100644 --- a/sys/src/9/port/usbxhci.c +++ b/sys/src/9/port/usbxhci.c @@ -1239,7 +1239,7 @@ epopen(Ep *ep) slot->nep = 1; ring->slot = slot; ring->doorbell = &ctlr->dba[slot->id]; - ring->ctx = &slot->obase[8]; + ring->ctx = &slot->obase[8<csz]; /* (input) control context */ w = slot->ibase;