[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1140ca26-13c8-2450-2dd5-4f0609e1a411@cogentembedded.com>
Date: Fri, 20 May 2016 18:26:14 +0300
From: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To: Andrew Goodbody <andrew.goodbody@...brionix.com>, b-liu@...com
Cc: gregkh@...uxfoundation.org, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH 1/2] usb: musb: Ensure rx reinit occurs for shared_fifo
endpoints
Hello.
On 05/20/2016 05:51 PM, Andrew Goodbody wrote:
> shared_fifo endpoints would only get a previous tx state cleared
> out, the rx state was only cleared for non shared_fifo endpoints
> Change this so that the rx state is cleared for all endpoints.
> This addresses an issue that resulted in rx packets being dropped
> silently.
>
> Signed-off-by: Andrew Goodbody <andrew.goodbody@...brionix.com>
> Cc: stable@...r.kernel.org
> ---
> drivers/usb/musb/musb_host.c | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
> index 2f8ad7f..30e0d65 100644
> --- a/drivers/usb/musb/musb_host.c
> +++ b/drivers/usb/musb/musb_host.c
> @@ -594,14 +594,15 @@ musb_rx_reinit(struct musb *musb, struct musb_qh *qh, u8 epnum)
> musb_writew(ep->regs, MUSB_TXCSR, 0);
>
> /* scrub all previous state, clearing toggle */
> - } else {
> - csr = musb_readw(ep->regs, MUSB_RXCSR);
> - if (csr & MUSB_RXCSR_RXPKTRDY)
> - WARNING("rx%d, packet/%d ready?\n", ep->epnum,
> - musb_readw(ep->regs, MUSB_RXCOUNT));
> -
> - musb_h_flush_rxfifo(ep, MUSB_RXCSR_CLRDATATOG);
> }
> + csr = musb_readw(ep->regs, MUSB_RXCSR);
> + if (csr & MUSB_RXCSR_RXPKTRDY) {
> + WARNING("rx%d, packet/%d ready?\n", ep->epnum,
> + musb_readw(ep->regs, MUSB_RXCOUNT));
> + urb_qh_dump(musb);
I'm not seeing this function anywhere... debugging leftover?
> + }
> +
> + musb_h_flush_rxfifo(ep, MUSB_RXCSR_CLRDATATOG);
>
> /* target addr and (for multipoint) hub addr/port */
> if (musb->is_multipoint) {
MBR, Sergei
Powered by blists - more mailing lists