CVSROOT: /cvs Module name: src Changes by: s...@cvs.openbsd.org 2017/09/01 10:01:27
Modified files: sys/dev/usb : xhci.c Log message: Fix a remaining length miscalculation in xhci(4). Each TRB contains a remaining TD size, which allows hardware to tell whether additional TRBs follow within the current transfer without reading ahead. The length of the first TRB was subtracted from the total length before calculating the remaining TD sizes. This is wrong because remaining TD sizes are relative to the size of the entire transfer, including the first TRB. Our current USB code does not trigger this bug because there is no code in upper layers yet which triggers use of multiple TRBs per transfer. ok mpi@