Hi
On a AM335x-based custom board, I have a linux application using libusb to talk with a custom USB device through USB1 host interface.
If kernel MUSB driver is built without DMA support, there is no issue. But with DMA support, sometimes it happens that usb_bulk_read returns a number of read bytes greater than the buffer size as specified in function arguments. In the specific case, buffer size is 15872, and usb_bulk_read return 16384, i.e. 512 more. Thus memory allocator asserts detecting corruption, causing the application to exit, of course.
I do not think it is due to libusb, because without DMA everything works fine.
Moreover I've verified this behaviour both on new silicon revison PG2.0, and old one too.
So I suspect is something in kernel MUSB driver.
Best regards,
Max