> From: Sergei Shtylyov [mailto:sergei.shtylyov@xxxxxxxxxxxxxxxxxx] > > 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@xxxxxxxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx > > --- > > 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 -- 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