CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/10/04 07:07:22
Modified files:
sys/dev/usb : xhci.c
Log message:
Wait until a read control transfer is really completed before passing
it to the stack when a Short Transfer condition is reported.
In this dummy implementation the ``Event Data TRB'' of a read control
transfer is the only TRB that can trigger an interrupt without being
the last TRB of a transfer. This is done in order to report the
remaining length of a short transfer. But when that happens, we want
to wait until all Transfer TRBs are completed before passing the xfer
to the stack.
Note that clearing the ISP and IOC flags in all Transfer TRBs like it
is specified in 4.10.1.1.1 might not work in our cases because the HC
has most of the time already processed all Transfer TRBs when the driver
dequeues the events in the softinterrupt path.
While here, use the right spl protection when aborting a xfer.