diff options
| author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-05-10 02:43:39 +0200 |
|---|---|---|
| committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-05-10 02:43:39 +0200 |
| commit | c474179f9a6428bb81a78d20f43cf982125d5d34 (patch) | |
| tree | 9fb4acbd49a7eb87e859554018197a77ad504fb3 | |
| parent | 2c3e60d95b0beafa25845b401ed9996ebe8100fb (diff) | |
| download | plan9front-c474179f9a6428bb81a78d20f43cf982125d5d34.tar.xz | |
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.
| -rw-r--r-- | sys/src/9/port/usbxhci.c | 2 |
1 files changed, 1 insertions, 1 deletions
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<<ctlr->csz]; /* (input) control context */ w = slot->ibase; |
