Dears, we will trace the detail of urb content in UVC Video complete function in advance. To try to figure out the cause of urb submit error. Thanks! Best Regards, Soho 2011/5/26 Soho Soho123 <soho123.2012@xxxxxxxxx>: > Dears, > > let me describe the detail about my testing: > Stream Server is MJPG-Streamer > ================================================================ > A. > Using linux 2.6.30 kernel do the testing, and DO NOT update linux usb > subsystem code (usb core , usb host driver), and DO NOT update UVC > driver > > RESULT: IP Cam stream can work over night > ------------------------------------------------------------------------------------------------------------------------------ > B. > Using Linux 2.6.30 kernel do the testing, and Update linux usb > subsystem code up to linux 2.6.39 (include the patch that I have > mentioned) and DO NOT update UVC driver > > RESULT: IP cam stream can work for a few minutes only, then UVC driver > will get submit urb error (-27) , error message list below: > # [ 1067.188000] iso_stream_schedule:line=1514, request 812acc00 would > overflow (3914+31 >= 3936) > [ 1067.188000] uvcvideo: Failed to resubmit video URB (-27). > [ 1067.192000] iso_stream_schedule:line=1514, request 8145bc00 would > overflow (3917+31 >= 3936) > [ 1067.192000] uvcvideo: Failed to resubmit video URB (-27). > [ 1067.292000] iso_stream_schedule:line=1514, request 81769000 would > overflow (3919+31 >= 3936) > [ 1067.292000] uvcvideo: Failed to resubmit video URB (-27). > [ 1067.392000] iso_stream_schedule:line=1514, request 81769400 would > overflow (3918+31 >= 3936) > [ 1067.392000] uvcvideo: Failed to resubmit video URB (-27). > [ 1067.492000] iso_stream_schedule:line=1514, request 81769800 would > overflow (3917+31 >= 3936) > [ 1067.492000] uvcvideo: Failed to resubmit video URB (-27). > ------------------------------------------------------------------------------------------------------------------------------- > C. > Using Linux 2.6.30 kernel do the testing, and Update linux usb > subsystem code up to linux 2.6.39 (include the patch that I have > mentioned) and Update UVC driver, we modify the number of URBs in > vuvcideo.h > UVC_URBS 5 > to > UVC_URBS 20 > > RESULT: IP cam stream can work for over night, but there is some urb > submit error occur. The stream can keep working even the urb submit > error. > ================================================================ > We would like to figure out the reason about new usb subsystem code > need more UVC_URB for working long time.Coule you provide the hints > for us, such that we can go in depth for tracing the flow in ehci iso > schedule scheme? > > Thanks a lot! > > > Best Regards, > Soho > > > > 2011/5/26 Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>: >> On Thu, 26 May 2011, Soho Soho123 wrote: >> >>> Dears, >>> >>> >>> The check line still included in iso_stream_schedule(). in linux >>> 2.6.39. I check the code from linux archive >>> [linux/kernel/git/stable/linux-2.6.39.y.git] / drivers / usb / host / >>> ehci-sched.c, line 1488 ~1496 >>> =============================================== >>> 1488 /* Tried to schedule too far into the future? */ >>> 1489 if (unlikely(start - now + span - period >>> 1490 >= mod - 2 * SCHEDULE_SLOP)) { >>> 1491 ehci_dbg(ehci, "request %p would overflow (%d+%d >= %d)\n", >>> 1492 urb, start - now, span - period, >>> 1493 mod - 2 * SCHEDULE_SLOP); >>> 1494 status = -EFBIG; >>> 1495 goto fail; >>> 1496 } >>> ================================================ >>> and >>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/usb/host/ehci-sched.c;hb=4a7df24ddc7097cd789a7527187826552ea0765e >>> ================================================== >>> 1492 /* Tried to schedule too far into the future? */ >>> 1493 if (unlikely(start - now + span - period >>> 1494 >= mod - 2 * SCHEDULE_SLOP)) { >>> 1495 ehci_dbg(ehci, "request %p would overflow (%d+%d >= %d)\n", >>> 1496 urb, start - now, span - period, >>> 1497 mod - 2 * SCHEDULE_SLOP); >>> 1498 status = -EFBIG; >>> 1499 goto fail; >>> 1500 } >>> ================================================== >> >> Okay. This is different from the line you pointed out before. >> >>> The check line will get error "EFBIG" for urb_sumbit. >>> Could you kindly help confirm? >> >> Sure, it can happen. Do you have the output from the ehci_dbg() >> statement that gets triggered when the failure occurs? >> >> Alan Stern >> >> > -- 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