Thanks Alan- Here's the first part of the dmesg output with that patch: jpitt@selenide:~$ dmesg [ 552.541851] ehci_hcd 0000:09:00.5: Bad iTD frame 233 index0 0 startf 1864 [ 552.541858] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1864 oclock 1863 clock0 1863 uframe0 1831 [ 552.541862] ehci_hcd 0000:09:00.5: Bad iTD frame 234 index0 8 startf 1864 [ 552.541866] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1872 oclock 1863 clock0 1863 uframe0 1831 [ 552.541870] ehci_hcd 0000:09:00.5: Bad iTD frame 235 index0 16 startf 1864 [ 552.541873] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1880 oclock 1863 clock0 1863 uframe0 1831 [ 552.541877] ehci_hcd 0000:09:00.5: Bad iTD frame 236 index0 24 startf 1864 [ 552.541881] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1888 oclock 1863 clock0 1863 uframe0 1831 [ 552.541889] ehci_hcd 0000:09:00.5: Bad iTD frame 237 index0 0 startf 1896 [ 552.541892] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1896 oclock 1863 clock0 1863 uframe0 1831 [ 552.541896] ehci_hcd 0000:09:00.5: Bad iTD frame 238 index0 8 startf 1896 [ 552.541899] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1904 oclock 1863 clock0 1863 uframe0 1831 [ 552.541903] ehci_hcd 0000:09:00.5: Bad iTD frame 239 index0 16 startf 1896 [ 552.541906] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1912 oclock 1863 clock0 1863 uframe0 1831 [ 552.541910] ehci_hcd 0000:09:00.5: Bad iTD frame 240 index0 24 startf 1896 [ 552.541914] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1920 oclock 1863 clock0 1863 uframe0 1831 [ 552.541921] ehci_hcd 0000:09:00.5: Bad iTD frame 241 index0 0 startf 1928 [ 552.541924] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1928 oclock 1863 clock0 1863 uframe0 1831 [ 552.541928] ehci_hcd 0000:09:00.5: Bad iTD frame 242 index0 8 startf 1928 [ 552.541931] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1936 oclock 1863 clock0 1863 uframe0 1831 [ 552.541935] ehci_hcd 0000:09:00.5: Bad iTD frame 243 index0 16 startf 1928 [ 552.541938] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1944 oclock 1863 clock0 1863 uframe0 1831 [ 552.541942] ehci_hcd 0000:09:00.5: Bad iTD frame 244 index0 24 startf 1928 [ 552.541945] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1952 oclock 1863 clock0 1863 uframe0 1831 [ 552.541952] ehci_hcd 0000:09:00.5: Bad iTD frame 245 index0 0 startf 1960 [ 552.541955] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1960 oclock 1863 clock0 1863 uframe0 1831 [ 552.541959] ehci_hcd 0000:09:00.5: Bad iTD frame 246 index0 8 startf 1960 [ 552.541962] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1968 oclock 1863 clock0 1863 uframe0 1831 [ 552.541966] ehci_hcd 0000:09:00.5: Bad iTD frame 247 index0 16 startf 1960 [ 552.541969] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1976 oclock 1863 clock0 1863 uframe0 1831 [ 552.541972] ehci_hcd 0000:09:00.5: Bad iTD frame 248 index0 24 startf 1960 [ 552.541976] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1984 oclock 1863 clock0 1863 uframe0 1831 [ 552.541983] ehci_hcd 0000:09:00.5: Bad iTD frame 249 index0 0 startf 1992 [ 552.541986] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 1992 oclock 1863 clock0 1863 uframe0 1831 [ 552.541990] ehci_hcd 0000:09:00.5: Bad iTD frame 250 index0 8 startf 1992 [ 552.541993] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 2000 oclock 1863 clock0 1863 uframe0 1831 [ 552.541996] ehci_hcd 0000:09:00.5: Bad iTD frame 251 index0 16 startf 1992 [ 552.542000] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 2008 oclock 1863 clock0 1863 uframe0 1831 [ 552.542003] ehci_hcd 0000:09:00.5: Bad iTD frame 252 index0 24 startf 1992 [ 552.542006] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 2016 oclock 1863 clock0 1863 uframe0 1831 [ 552.542014] ehci_hcd 0000:09:00.5: Bad iTD frame 253 index0 0 startf 2024 [ 552.542017] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 2024 oclock 1863 clock0 1863 uframe0 1831 [ 552.542021] ehci_hcd 0000:09:00.5: Bad iTD frame 254 index0 8 startf 2024 [ 552.542024] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 2032 oclock 1863 clock0 1863 uframe0 1831 [ 552.542028] ehci_hcd 0000:09:00.5: Bad iTD frame 255 index0 16 startf 2024 [ 552.542031] ehci_hcd 0000:09:00.5: clockuf 1856 nowuf 2040 oclock 1863 clock0 1863 uframe0 1831 [ 552.542035] ehci_hcd 0000:09:00.5: Bad iTD frame 256 index0 24 startf 2024 ----- Original Message ----- From: "Alan Stern" <stern@xxxxxxxxxxxxxxxxxxx> To: "Jason N Pitt" <jpitt@xxxxxxxxx> Cc: "USB list" <linux-usb@xxxxxxxxxxxxxxx> Sent: Wednesday, September 28, 2011 12:44:35 PM Subject: Re: uvcvideo: Failed to resubmit video URB (-27) On Wed, 28 Sep 2011, Pitt, Jason N wrote: > For some reason that patch didn't work, but I manually made your > changes to the code and it seems to be working fine. Here's the > dmesg output after the 12 camera test Hmmm. Clearly we are seeing the point where the bug first hits, but there isn't enough information to tell exactly what's going wrong. Try this patch instead of the previous one; it will print out more of the important values. You don't need to send all of the debugging output from the dmesg log. Just the first 20 lines or so will be plenty. Alan Stern Index: usb-3.1/drivers/usb/host/ehci-sched.c =================================================================== --- usb-3.1.orig/drivers/usb/host/ehci-sched.c +++ usb-3.1/drivers/usb/host/ehci-sched.c @@ -2265,6 +2265,8 @@ scan_periodic (struct ehci_hcd *ehci) { unsigned now_uframe, frame, clock, clock_frame, mod; unsigned modified; +unsigned clock0, uframe0; +int oclock; mod = ehci->periodic_size << 3; @@ -2288,6 +2290,9 @@ scan_periodic (struct ehci_hcd *ehci) clock &= mod - 1; clock_frame = clock >> 3; ++ehci->periodic_stamp; +clock0 = clock; +uframe0 = now_uframe; +oclock = -1; for (;;) { union ehci_shadow q, *q_p; @@ -2373,6 +2378,14 @@ restart: *hw_p = ehci->dummy->qh_dma; type = Q_NEXT_TYPE(ehci, q.itd->hw_next); wmb(); + +if (q.itd->hw_transaction[7] & ITD_ACTIVE(ehci)) { + ehci_info(ehci, "Bad iTD frame %u index0 %u startf %d\n", + frame, q.itd->index[0], q.itd->urb->start_frame); + ehci_info(ehci, " clockuf %u nowuf %u oclock %d clock0 %u uframe0 %u\n", + clock, now_uframe, oclock, clock0, uframe0); +} + modified = itd_complete (ehci, q.itd); q = *q_p; break; @@ -2460,6 +2473,7 @@ restart: break; /* rescan the rest of this frame, then ... */ +oclock = clock; clock = now; clock_frame = clock >> 3; if (ehci->clock_frame != clock_frame) { -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html -- /* Jason Pitt PhD 206.667.5603 Roth Lab jpitt@xxxxxxxxx Basic Sciences Division Fred Hutchinson Cancer Research Center 1100 Fairview Ave N A3-135 Seattle, WA 98109 */ -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html