diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-03-05 06:09:31 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-03-05 06:09:31 +0100 |
commit | 6f70699aec603058e65f51b7ddad6197834cf46b (patch) | |
tree | 67ee2059dd3ae1f7b6155d3f29c62781a8a79c9b /sys/src/9/port/devusb.c | |
parent | 8e654cf76112ffe67ff1649fd0e570975a08a823 (diff) |
usbehci: fix medium- to low quality highspeed isochronous transfers
everything was broken. strting with hsinit not even chaining
the itd's into a ring. followed by broken buffer pointer pages.
finally, the interrupt handler's read transaction length
calculation was completely bugged, using the *FRAME* index
to access descriptors csw[] fields and not reseting tdi->ndata
thru the loop.
minor stuff:
iso->data needs to be freed with ctlr->dmafree()
put ival in iso->ival so ctl message cannot override the endpoints
pollival and screw up deallocation.
Diffstat (limited to 'sys/src/9/port/devusb.c')
0 files changed, 0 insertions, 0 deletions