Re: [PATCH 0/2] usb: musb: fix bogus rx endpoint interrupt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]