From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756059AbcETOyF (ORCPT ); Fri, 20 May 2016 10:54:05 -0400 Received: from mail1.bemta5.messagelabs.com ([195.245.231.149]:15554 "EHLO mail1.bemta5.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752472AbcETOxh (ORCPT ); Fri, 20 May 2016 10:53:37 -0400 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMIsWRWlGSWpSXmKPExsVyU6aHU/eRin2 4waaLphb/7yxitWhevJ7N4vKuOWwWi5a1Mlss2PiI0YHVY//cNewex29sZ/L4vEkugDmKNTMv Kb8igTVjTdc39oLvXBVLJ/axNzBu5Oxi5OIQEtjAKLH4YhNbFyMnB5uAmcSuV+vYQWwRASGJz h0fmECKmAVWM0qcnbcSrEhYIFCifXILM4jNIqAqMe9kK1icV8BP4t6kWWC2hICcxM1znWA1nA L+EstWL2cEsYWAaqbdWw1VLyhxcuYTFhCbWUBC4uCLF8wQNdoSy/f0sUPMUZCYvWoDE4SdIvH 6x1cWCNtaou3vB/YJjAKzkIyahWTUAkamVYzqxalFZalFuiZ6SUWZ6RkluYmZObqGBqZ6uanF xYnpqTmJScV6yfm5mxiBAcwABDsYb/U5H2KU5GBSEuVVE7cPF+JLyk+pzEgszogvKs1JLT7EK MPBoSTB+14ZKCdYlJqeWpGWmQOMJZi0BAePkgjvDpA0b3FBYm5xZjpE6hSjLseHydfXMgmx5O XnpUqJ854DKRIAKcoozYMbAYvrS4yyUsK8jEBHCfEUpBblZpagyr9iFOdgVBLm5QYmCSGezLw SuE2vgI5gAjrilpgNyBEliQgpqQbGfIsqzaOvt8t/tbtwbMlU/8/Hy1gDEwp4n53atNmn88Qv t9/PFx9adXfOlYT0kqyUBD3Rc89EJ1mpCzWtdvG9M+HlyeU7isSiKtbsfi0y+ec9KY3KoqUr0 toFJF/5P+JMEFHtvBZzQs3/W2JJrrvlYzfuaapXL7b9rf2722Ayvxe7sNuz4gJGJZbijERDLe ai4kQAIe5oSuYCAAA= X-Env-Sender: andrew.goodbody@cambrionix.com X-Msg-Ref: server-9.tower-123.messagelabs.com!1463755998!6756855!10 X-Originating-IP: [217.28.140.9] X-StarScan-Received: X-StarScan-Version: 8.34; banners=-,-,- X-VirusChecked: Checked From: Andrew Goodbody To: CC: , , , Andrew Goodbody , Subject: [PATCH 1/2] usb: musb: Ensure rx reinit occurs for shared_fifo endpoints Date: Fri, 20 May 2016 15:51:41 +0100 Message-ID: <1463755902-12922-2-git-send-email-andrew.goodbody@cambrionix.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1463755902-12922-1-git-send-email-andrew.goodbody@cambrionix.com> References: <1463755902-12922-1-git-send-email-andrew.goodbody@cambrionix.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [46.17.166.30] X-ClientProxiedBy: SEHSTE15FE04.hs20.net (172.18.251.44) To THHSTE15D2BE2.hs20.net (192.168.251.32) X-EXCLAIMER-MD-CONFIG: 266e7a57-cddd-49fd-bdea-19bca6d40303 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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); + } + + musb_h_flush_rxfifo(ep, MUSB_RXCSR_CLRDATATOG); /* target addr and (for multipoint) hub addr/port */ if (musb->is_multipoint) { -- 2.7.4