I've been trying to use the musb host controller for devices other than USB mass storage like Wifi-Sticks and USB audio cards, and ran into a larger number of nasty issues. After staring at hexdumps for the better part of the last couple of days, I finally fixed all of them. I used an external hardware USB analyzer to track down lost packets, data toggle mismatches and stream starvation. Here are 7 patches to fix the issues I've seen. Most of them affect the musb <-> cppi41 glue layer, and #1 is for the cppi41 DMA driver. Vinod, you can safely merge this one through your tree, as there's no dependency to any other patch, and it's clearly fixing a bug. Also, I'd actually say that all but #2 are candidates for stable@, but I leave it to Felipe to decide that :) Please have a look. More tests on AM335x are very welcome, and so are regression tests for any other platform. Thank, Daniel Daniel Mack (7): dma: cppi41: handle 0-length packets usb: musb: remove unnecessary (void) prefix at function calls usb: musb: use is_host_active() to distinguish between host and gadget mode usb: musb: fix bit masks for CSR in musb_h_tx_flush_fifo() usb: musb: introduce dma_channel.packet_done usb: musb/cppi41: call musb_ep_select() before accessing an endpoint's CSR usb: musb/cppi41: read data toggle from right endpoint drivers/dma/cppi41.c | 13 ++++++++++--- drivers/usb/musb/musb_core.c | 16 +++++++--------- drivers/usb/musb/musb_cppi41.c | 15 ++++++++++++--- drivers/usb/musb/musb_dma.h | 1 + drivers/usb/musb/musb_host.c | 12 +++++++----- 5 files changed, 37 insertions(+), 20 deletions(-) -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html