On Tue, 6 Aug 2013, [koi8-r] ����� ������ wrote:
Hi,
I have Logitech HD Webcam 525 (046d:0826) but its mic works strange. The mic is turned off while video works fine. In dmesg I see the following messages
[ 472.079738] cannot submit urb (err = -18) [ 472.079748] cannot submit urb (err = -18) [ 472.079754] cannot submit urb (err = -18) [ 472.079759] cannot submit urb (err = -18) [ 472.079783] cannot submit urb (err = -18) [ 472.079787] cannot submit urb (err = -18) [ 472.079792] cannot submit urb (err = -18) [ 472.079797] cannot submit urb (err = -18)
I have not enough experience to fix it myself but I can help with finding a bug and testing fixes. I have also found that the same problem exists for Logitech Webcam C310 (046d:081b). The bug is not specific for my laptop. I have the same issue on my desktop with both cameras.
Does this patch help?
Alan Stern
Index: usb-3.11/drivers/usb/host/ehci-sched.c =================================================================== --- usb-3.11.orig/drivers/usb/host/ehci-sched.c +++ usb-3.11/drivers/usb/host/ehci-sched.c @@ -1391,21 +1391,20 @@ iso_stream_schedule (
/* Behind the scheduling threshold? */ if (unlikely(start < next)) { + unsigned now2 = (now - base) & (mod - 1);
/* USB_ISO_ASAP: Round up to the first available slot */ if (urb->transfer_flags & URB_ISO_ASAP) start += (next - start + period - 1) & -period;
/* - * Not ASAP: Use the next slot in the stream. If - * the entire URB falls before the threshold, fail. + * Not ASAP: Use the next slot in the stream, + * no matter what. */ - else if (start + span - period < next) { - ehci_dbg(ehci, "iso urb late %p (%u+%u < %u)\n", + else if (start + span - period < now2) { + ehci_dbg(ehci, "iso underrun %p (%u+%u < %u)\n", urb, start + base, - span - period, next + base); - status = -EXDEV; - goto fail; + span - period, now2 + base); } }