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