hi all: When capturing audio through HS webcam by iso protocol under my embedded system, I can hear the audio is not continuous. Then I check usb mon and i found sometime the return status will be EXDEV like below: (below is partial and detail log is attach in the mail) d8a81c00 99034865 S Zi:1:003:2 -115:8:0 10 -18:0:512 -18:512:512 -18:1024:512 -18:1536:512 -18:2048:512 5120 < d8a81a00 99038483 S Zi:1:003:2 -115:8:0 10 -18:0:512 -18:512:512 -18:1024:512 -18:1536:512 -18:2048:512 5120 < d8a81c00 99049439 C Zi:1:003:2 0:8:5535:0 10 0:0:96 0:512:96 0:1024:100 0:1536:100 0:2048:100 5120 = 36063606 3c073c07 c107c107 be07be07 31073107 26062606 b504b504 f702f702 d8a81c00 99050046 S Zi:1:003:2 -115:8:0 10 -18:0:512 -18:512:512 -18:1024:512 -18:1536:512 -18:2048:512 5120 < d8a81a00 99059580 C Zi:1:003:2 0:8:5615:0 10 0:0:100 0:512:100 0:1024:100 0:1536:100 0:2048:100 5120 = cf00cf00 c1fec1fe cafccafc 0efb0efb aef9aef9 b9f8b9f8 3bf83bf8 3cf83cf8 d8a81c00 99069328 C Zi:1:003:2 0:8:5695:0 10 0:0:100 0:512:100 0:1024:100 0:1536:100 0:2048:100 5120 = 06fb06fb d2fcd2fc dbfedbfe fe00fe00 14031403 f804f804 7a067a06 85078507 d8a81a00 99078681 S Zi:1:003:2 -115:8:0 10 -18:0:512 -18:512:512 -18:1024:512 -18:1536:512 -18:2048:512 5120 < d8a81c00 99080252 S Zi:1:003:2 -115:8:0 10 -18:0:512 -18:512:512 -18:1024:512 -18:1536:512 -18:2048:512 5120 < d8a81a00 99094075 C Zi:1:003:2 0:8:5887:10 10 -18:0:0 -18:512:0 -18:1024:0 -18:1536:0 -18:2048:0 5120 = cf00cf00 c1fec1fe cafccafc 0efb0efb aef9aef9 b9f8b9f8 3bf83bf8 3cf83cf8 d8bd4e00 99094941 S Zi:1:003:2 -115:8:0 10 -18:0:512 -18:512:512 -18:1024:512 -18:1536:512 -18:2048:512 5120 < d8a81c00 99103505 C Zi:1:003:2 0:8:5967:10 10 -18:0:0 -18:512:0 -18:1024:0 -18:1536:0 -18:2048:0 5120 = 06fb06fb d2fcd2fc dbfedbfe fe00fe00 14031403 f804f804 7a067a06 85078507 d8bd4000 99103740 S Zi:1:003:2 -115:8:0 10 -18:0:512 -18:512:512 -18:1024:512 -18:1536:512 -18:2048:512 5120 < d8bd4e00 99120480 C Zi:1:003:2 0:8:6047:10 10 -18:0:0 -18:512:0 -18:1024:0 -18:1536:0 -18:2048:0 5120 = 00000000 d8f8d8f8 48f848f8 42f842f8 baf8baf8 b1f9b1f9 18fb18fb e4fce4fc My questions are: 1. in usb driver, ehci-sched.c --> itd_complete -> if (unlikely (t & ISO_ERRS)) { ...................... } else if (likely ((t & EHCI_ISOC_ACTIVE) == 0)) { ........................ } else { /* URB was too late */ urb->error_count++; } EXDEV seems come from above comment " /*URB was too late */" As far as I know,itd_complete is called "in irq handler" and "scan_work thread", and urb is already submitted in these 2 places. if my conclusion is correct, why we said "urb was too late"? Does it mean urb too late to send or too late to service? 2. In my case, the urbs are always submitted with URB_ISO_ASAP. Except itd_complete is there any place will let iso EXDEV happen? Thanks for your kind help in advance,
<<attachment: usbmon_s_only.iso.zip>>