diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-08-25 22:03:02 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-08-25 22:03:02 +0200 |
commit | 808480f76bedbbe4215da11de31f7403de668b2a (patch) | |
tree | bf55f20622fae598bb1b46291b56e88c3a450ed6 /sys/src/cmd/python/Python/bltinmodule.c | |
parent | 1556afae40c09034f2e1e53570c61593912c4fd4 (diff) |
usbehci, usbuhci: paranoia
double the td abort delay and make sure the tsleep() isnt
shortened by a pending note. in that case, tsleep() would
raise error(Eintr); immidiately and would not sleep the
requested amount potentially cauing us to release active
dma memory too early! so we wrap the tsleep() call in a
while(waserror()) so we will at least wait the Abortdelay
amount if error is raised.
also, only try to idle the still active td's.
do not copy data in epio() when there was an error, theres
no reason to touch user buffer in that case.
for uhci, we also check that theres not more data in the
buffers than requested to avoid overflowing user buffer
in epio(). this should not happen but we'r paranoid.
for ehci, we also halt the queue head first in aborttds().
mark the queue heads as Qfree after unlinking and remove
some silly nil checks that are impossible.
Diffstat (limited to 'sys/src/cmd/python/Python/bltinmodule.c')
0 files changed, 0 insertions, 0 deletions