Re: Linux UVC driver can not handle urb_submit error

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

 



Dears,

the error log is :
==========================================================
  474.348000] iso_stream_schedule:line=1514, request 8176bc00 would
overflow (3936+31 >= 3936)
[  474.348000] iso_stream_schedule
[  474.348000] mod=4096, sched->span=32
[  474.348000] now=773
[  474.348000] start=4709
[  474.348000] next=773
[  474.348000] period=1
[  474.348000] uvcvideo: Failed to resubmit video URB (-27).
[  474.352000] iso_stream_schedule:line=1514, request 8176b000 would
overflow (3932+31 >= 3936)
[  474.352000] iso_stream_schedule
[  474.352000] mod=4096, sched->span=32
[  474.352000] now=784
[  474.352000] start=4716
[  474.352000] next=784
[  474.352000] period=1
[  474.352000] uvcvideo: Failed to resubmit video URB (-27).
==========================================================
it seems the index of schedule list is corrupt, right?


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


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

  Powered by Linux