On Wed, Nov 23, 2016 at 10:43:32PM -0600, Bin Liu wrote: > 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. rx dma interrupt _as_ 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 linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- 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