The following diff fixes the overrun issues I have been seing with isoc
transfers when using video(1). Doesn't mean video(1) works now :)

OK?


Index: xhci.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/xhci.c,v
retrieving revision 1.77
diff -u -p -u -p -r1.77 xhci.c
--- xhci.c      8 Sep 2017 10:25:19 -0000       1.77
+++ xhci.c      6 Nov 2017 18:51:50 -0000
@@ -2758,7 +2758,7 @@ xhci_device_isoc_start(struct usbd_xfer 
        /* We'll do the first TRB once we're finished with the chain. */
        trb0 = xhci_xfer_get_trb(sc, xfer, &toggle0, (ntrb == 1));
 
-       remain = xfer->length;
+       remain = xfer->length - len0;
        offs = len0;
        paddr = DMAADDR(&xfer->dmabuf, offs);
 

Reply via email to