From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932289AbcETRBk (ORCPT ); Fri, 20 May 2016 13:01:40 -0400 Received: from mail1.bemta5.messagelabs.com ([195.245.231.148]:19339 "EHLO mail1.bemta5.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756029AbcETRBb convert rfc822-to-8bit (ORCPT ); Fri, 20 May 2016 13:01:31 -0400 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLKsWRWlGSWpSXmKPExsVyU6aHU/e2k32 4Qec2ZYv/dxaxWjQvXs9mcXnXHDaLRctamS3OrLrFbrFg4yNGBzaPB1P/M3nsn7uG3eP4je1M Hp83yQWwRLFm5iXlVySwZjxZ+oGpYCVfxcy1m9kaGF9xdzFycQgJbGGUmHrkNXsXIyeQs5dR4 v1zXhCbTcBMYterdWBxEYEIiRMLLjKDNDALvGaUuH9hOhNIQlggTOLzr3dsEEXhEpd/z4dqsJ JofbaTFcRmEVCVmL5sHwuIzSvgKvHq+gwWiGVnGSV+/QSzOQXcJKY9XsoIYjMKyEp8aVzNDGI zC4hL3HoyH2yXhICAxJI955khbFGJl4//sULYBhJbl0LMlxBQkPjRewqqxlri34O7TBBzdCQW 7P7EBmFrSyxb+JoZ4h5BiZMzn7BMYBSbhWTdLCQts5C0zELSsoCRZRWjenFqUVlqka6FXlJRZ npGSW5iZo6uoYGpXm5qcXFiempOYlKxXnJ+7iZGYFQyAMEOxoPNzocYJTmYlER51cTtw4X4kv JTKjMSizPii0pzUosPMcpwcChJ8DY6AuUEi1LTUyvSMnOA6QEmLcHBoyTCOxkkzVtckJhbnJk OkTrFqMvxYfL1tUxCLHn5ealS4ryVIEUCIEUZpXlwI2Cp6hKjrJQwLyPQUUI8BalFuZklqPKv GMU5GJWEebNBpvBk5pXAbXoFdAQT0BG3xGxAjihJREhJNTBO8kgMmPmx9MulOsn+F04+X3afP zjjbLzVldzqKXsZnnZ73PwmvDXs7TlJ1W0LwvJeCjMHHlbZ7df/cP4zx1Xa66+dFuquPCjOXL pql51KxH9f+dV629fJRj6YeuGS9b1nvMzJX3cy1wad/SI3yeAIT1NemQt3qXzJNbmK+WtTzOf 8YMvaNPeHEktxRqKhFnNRcSIAcKqj1VADAAA= X-Env-Sender: andrew.goodbody@cambrionix.com X-Msg-Ref: server-8.tower-125.messagelabs.com!1463763675!30461925!2 X-Originating-IP: [217.28.140.9] X-StarScan-Received: X-StarScan-Version: 8.34; banners=-,-,- X-VirusChecked: Checked From: Andrew Goodbody To: Sergei Shtylyov , "b-liu@ti.com" CC: "gregkh@linuxfoundation.org" , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" Subject: RE: [PATCH 1/2] usb: musb: Ensure rx reinit occurs for shared_fifo endpoints Thread-Topic: [PATCH 1/2] usb: musb: Ensure rx reinit occurs for shared_fifo endpoints Thread-Index: AQHRsqdF0vInAz5wRk2T/abzNuJ5Tp/B4dEAgAAq8wA= Date: Fri, 20 May 2016 17:01:14 +0000 Message-ID: <419383b94a12435bb2e6667b05c700ed@THHSTE15D2BE2.hs20.net> References: <1463755902-12922-1-git-send-email-andrew.goodbody@cambrionix.com> <1463755902-12922-2-git-send-email-andrew.goodbody@cambrionix.com> <1140ca26-13c8-2450-2dd5-4f0609e1a411@cogentembedded.com> In-Reply-To: <1140ca26-13c8-2450-2dd5-4f0609e1a411@cogentembedded.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [46.17.166.30] x-exclaimer-md-config: 266e7a57-cddd-49fd-bdea-19bca6d40303 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > From: Sergei Shtylyov [mailto:sergei.shtylyov@cogentembedded.com] > > 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 > > Cc: stable@vger.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? Sorry, yes, my bad. I'll remove it for v2. Andrew > > + } > > + > > + musb_h_flush_rxfifo(ep, MUSB_RXCSR_CLRDATATOG); > > > > /* target addr and (for multipoint) hub addr/port */ > > if (musb->is_multipoint) { > > MBR, Sergei