Hi, This fixes a long standing musb bogus rx interrupt problem. I am not sure on other platforms, but on AM335x with CPPI DMA enabled, occasionally any of the following kernel messages shows up from musb driver. (The endpoint number is random, of cause.) musb_host_rx 1853: BOGUS RX2 ready, csr 0000, count 0 musb_host_rx 1936: RX3 dma busy, csr 2020 In one of the test cases with FT4232H I observed the issue when sometimes closing the uart port. It turns out the issue is that during handling urb dequeue, the controller is still receiving data while the CPPI channel is already aborted, then musb core generates endpoint rx interrupt, instead of rx dma interrupt in normal rx transfer. Based on the inline comments, the fix is to call the new platform ops to clear the rx ep interrupt in musb_cleanup_urb(). I am not sure if this fix should be back ported to all stable trees, but I only tested up to v4.1, so cc'd stable v4.1+. Regards, -Bin. --- Bin Liu (2): usb: musb: core: add clear_ep_rxintr() to musb_platform_ops usb: musb: dsps: implement clear_ep_rxintr() callback drivers/usb/musb/musb_core.h | 7 +++++++ drivers/usb/musb/musb_dsps.c | 12 ++++++++++++ drivers/usb/musb/musb_host.c | 10 ++++------ 3 files changed, 23 insertions(+), 6 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html