From: Bin Liu <b-liu@ti.com>
To: <linux-usb@vger.kernel.org>
Cc: <stable@vger.kernel.org>
Subject: Re: [PATCH 0/2] usb: musb: fix bogus rx endpoint interrupt
Date: Wed, 23 Nov 2016 22:54:07 -0600 [thread overview]
Message-ID: <20161124045407.GA27536@uda0271908> (raw)
In-Reply-To: <1479962614-27468-1-git-send-email-b-liu@ti.com>
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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2016-11-24 4:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-24 4:43 [PATCH 0/2] usb: musb: fix bogus rx endpoint interrupt Bin Liu
2016-11-24 4:43 ` [PATCH 1/2] usb: musb: core: add clear_ep_rxintr() to musb_platform_ops Bin Liu
2016-11-24 4:43 ` [PATCH 2/2] usb: musb: dsps: implement clear_ep_rxintr() callback Bin Liu
2016-11-24 4:54 ` Bin Liu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161124045407.GA27536@uda0271908 \
--to=b-liu@ti.com \
--cc=linux-usb@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.