I am running linux kernel 3.7.10 on a DM3730. I have a Logitech C270 webcam connected to a powered USB 2.0 hub and the hub is connected to the OTG USB port. The kernel has been configured with USB_INVENTRA_DMA set. I have a user space application that captures streaming frames from the camera. The application can set the camera frame size and frame rate. At modest frame sizes (under 320x240) all frames are successfully captured. But when the camera is set to stream larger frame sizes , 1280x960 for example, the musb driver occasionally prints the error message "musb_host_rx 1714: Rx interrupt with no errors or packet!". In this path, the driver code aborts the transfer. This error sequence causes the user space application to timeout on a select operation. I've tried turning off inventra DMA and that seems to allow USB transfers without error. But CPU utilization is unacceptably high without DMA. I've also patched the MUSB driver code to ignore the error and continue with the transfer. This also seems to work and the subsequent video frames I've examined seemed to be intact.
I'd appreciate any insight into the root cause of the problem.
frank agius