Index: ehci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/ehci.c,v
retrieving revision 1.154
diff -u -r1.154 ehci.c
--- ehci.c	14 Oct 2008 18:32:53 -0000	1.154
+++ ehci.c	19 Oct 2008 21:26:15 -0000
@@ -3932,7 +3932,9 @@
 			offs += xfer->frlengths[trans_count];
 			trans_count++;
 
-			if (trans_count >= xfer->nframes) { /*Set IOC*/
+			if (trans_count >= xfer->nframes ||
+			    (trans_count % 64 == 0 && trans_count != 0))
+			{ /*Set IOC*/
 				itd->itd.itd_ctl[j] |= htole32(EHCI_ITD_IOC);
 				break;
 			}
