• Alan Stern's avatar
    USB: OHCI: fix logic for scheduling isochronous URBs · 815fa7b9
    Alan Stern authored
    The isochronous scheduling logic in ohci-hcd has a bug.  The
    calculation for skipping TDs that are too late should be carried out
    only in the !URB_ISO_ASAP case.  When URB_ISO_ASAP is set, the URB is
    pushed back so that none of the TDs are too late, which would cause
    the calculation to overflow.
    
    The patch also fixes the calculation to avoid overflow in the case
    where the frame value wraps around.
    
    This should be applied to -stable kernels going back to 3.8.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    CC: <stable@vger.kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    815fa7b9
ohci-hcd.c 37.8 KB