On Wed, 11 Sep 2013, Daniel Mack wrote:
On 11.09.2013 14:53, Ankit Agarwal wrote:
On Sun, Sep 8, 2013 at 8:27 PM, Daniel Mack <zonque@gmail.com mailto:zonque@gmail.com> wrote:
On 02.09.2013 12:51, Ankit Agarwal wrote: > I am using alsa pcm player to listen to audio. The alsa pcm crashes with > the error: ALSA sound/usb/urb.c:179 cannot submit urb (err = -27). I am > able to hear the data initially but when other transaction begins on HID > report endpoint, alsa crashes with the mentioned error. -27 == -EFBIG, which seems to relate to a scheduling problem on the bus, and hence probably rather to a host controller bug than an issue with snd-usb. > I am working on imx6q board with linux kernel-3.0.35. I am using Apple > device to get the digital audio. Please try with a more recent kernel, and see if you can find the location where EFBIG is initially reported.
I have found that EFBIG is being reported by ehci-host controller. It is coming from file ehci-sched.c under iso_stream_schedule() function. The error is thrown when the controller tries to schedule the urb too far into the future, ie, there is overflow of the scheduled URBs. I might be happening because the URBs are not scheduled properly.
Ok. What about trying a newer kernel? The issue might be fixed already.
-EFBIG is still returned under the same circumstances as in earlier kernels. You can get more information about those errors if you enable CONFIG_USB_DEBUG.
Starting in the 3.11 kernel, however, -EXDEV is no longer returned for USB submission. It would be a good idea to test with 3.11. It also would be a good idea to get a usbmon trace showing what happens when the errors occur.
Alan Stern