some question about EXDEV status in period schedule

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>>


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux