On my system, AM3352 with kernel 3.14.26 I am seeing the musb driver sometimes return -ENOSPC. This appears to be because it cannot find an endpoint for the current URB. From what I can see in the source it would be possible to queue the URB but this is not done for anything other than control or bulk endpoints. I guess that this was a simplification done when the musb driver was written.
I also see babble errors on rare occasions which I think is a result of the lack of bandwidth management.
Is there anyone working on either queuing of URBs when all the endpoints are in use and/or bandwidth tracking and management for the musb driver?