From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-49867-1516895133-2-17983179768100056203 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.25, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='US', FromHeader='com', MailFrom='org' X-Spam-charsets: plain='us-ascii' X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: linux-usb-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1516895132; b=WFq/Lbc3sEn0LaZLC3aEjcqaAKB/BvTfY8Pao4+al2Xo5ar TfNvR0HSs2aOmd7pMgO7sDkvoe0rtTMgq/SfmDNfB2v+H4wwTlwx/vLRSZr1P3yx wcN7BhXo/Bo/e6toOmTxVwxi6puL1X9DuvSWYSbg5R9fG3+qRq62WjRaWWoFgt9f +1nghXCY9xDfRO4eq6S0tuYL7MtDGayRbBl6JIa/qqneGH+wCmWIQN7kiMKJAqID oYMrZqK0cFqve4wAs4s1rsjG6Hk21zKH8Mi5y0E22GA0u2qTRxIF8Yqi88y8ME07 Tl7rKgv9IixxHRolkg8SWVu5gmbaw/0JKT8VOvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to:sender :list-id; s=arctest; t=1516895132; bh=BePlikPP3WY1bWVIlmK1h+Fu/Z AsG4ObxA+gG5L8Ndc=; b=W5p+UiqFX1h8kFGmoU41B1pxBH7DW/YrqfVSkTTskH JbsnUdU5fT2vSvBGgOyEQg/bBmBt29deo10wT9ixTV7BhWlIn5vuo6TET1vC5+Rb uuQU0babEAg1iEfGjsJh1qY/o1b9i3slTHxgyKvO7N/dZFh0oSCWaeFMItLLHumI dAap3vZrOiyAEvgx/6DwxClyR2ufl0kmVgGjyr4E9+a/3lbUz8bGQ4qqrrp5TLo4 3NYgzgIc/BHd+bEXpUAxu+ODIwfrcRGWObi0DcmeQZp9h81UqWbQM1AqU+gDlD9R 7W0A9yfrpBMaULvxF8HoUDLJFvnq5y34A7YtnRGl0gUg== ARC-Authentication-Results: i=1; mx3.messagingengine.com; arc=none (no signatures found); dkim=fail (body has been altered; 1024-bit rsa key sha256) header.d=ti.com header.i=@ti.com header.b=ZmMdxMtA x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=ti-com-17Q1; dmarc=fail (p=quarantine,has-list-id=yes,d=quarantine) header.from=ti.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=ti.com header.result=pass header_is_org_domain=yes Authentication-Results: mx3.messagingengine.com; arc=none (no signatures found); dkim=fail (body has been altered; 1024-bit rsa key sha256) header.d=ti.com header.i=@ti.com header.b=ZmMdxMtA x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=ti-com-17Q1; dmarc=fail (p=quarantine,has-list-id=yes,d=quarantine) header.from=ti.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=ti.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751011AbeAYPpS (ORCPT ); Thu, 25 Jan 2018 10:45:18 -0500 Received: from lelnx193.ext.ti.com ([198.47.27.77]:22882 "EHLO lelnx193.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750783AbeAYPpR (ORCPT ); Thu, 25 Jan 2018 10:45:17 -0500 Date: Thu, 25 Jan 2018 09:45:08 -0600 From: Bin Liu To: Yegor Yefremov CC: Maxim Uvarov , kernel list , linux-usb , Greg KH , , Tomas Paukrt Subject: Re: [PATCHv2] musb_host: fix lockup on rxcsr_h_error Message-ID: <20180125154508.GB6590@uda0271908> Mail-Followup-To: Bin Liu , Yegor Yefremov , Maxim Uvarov , kernel list , linux-usb , Greg KH , sergei.shtylyov@cogentembedded.com, Tomas Paukrt References: <1461739918-9583-1-git-send-email-muvarov@gmail.com> <20160427154620.GB5604@uda0271908> <20160427191356.GA16821@uda0271908> <20160427212823.GA14645@uda0271908> <20160428143714.GA7222@uda0271908> <20160503134813.GA690@uda0271908> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-usb-owner@vger.kernel.org X-Mailing-List: linux-usb@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Hi Yegor and Max, On Tue, May 03, 2016 at 04:25:58PM +0200, Yegor Yefremov wrote: > On Tue, May 3, 2016 at 3:48 PM, Bin Liu wrote: > > Hi, > > > > On Tue, May 03, 2016 at 12:03:52PM +0200, Yegor Yefremov wrote: > >> On Thu, Apr 28, 2016 at 4:37 PM, Bin Liu wrote: > >> > Hi, > >> > > >> > On Thu, Apr 28, 2016 at 09:51:37AM +0300, Maxim Uvarov wrote: > >> > > >> > [snip] > >> > > >> >> Hello Bin, > >> >> > >> >> yes, it also works with that reset and go to finish: > >> >> > >> >> diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c > >> >> index c3d5fc9..8cd98e7 100644 > >> >> --- a/drivers/usb/musb/musb_host.c > >> >> +++ b/drivers/usb/musb/musb_host.c > >> >> @@ -1599,6 +1599,10 @@ void musb_host_rx(struct musb *musb, u8 epnum) > >> >> status = -EPROTO; > >> >> musb_writeb(epio, MUSB_RXINTERVAL, 0); > >> >> > >> >> + rx_csr &= ~MUSB_RXCSR_H_ERROR; > >> >> + musb_writew(epio, MUSB_RXCSR, rx_csr); > >> >> + > >> >> + goto finish; > >> >> } else if (rx_csr & MUSB_RXCSR_DATAERROR) { > >> >> > >> >> if (USB_ENDPOINT_XFER_ISOC != qh->type) { > >> >> > >> > > >> > Thanks for testing it. > >> > >> Have tested your patch and now both FT4232 and Huawei don't freeze on removal. > >> > >> Bin, Max thanks for fixing this issue. > >> > >> Tested-by: Yegor Yefremov > > > > Thanks for testing. > > > > Can you please test the patch [1] instead? I'd like to use it as the > > fix. > > > > [1] http://marc.info/?l=linux-usb&m=146222355213935&w=2 > > The patch behaves the same as the previous one. Sorry for bringing up this old thread, but it seems to be too aggressive to stop scheduling further urbs on errors [1]. So is it possible for you to re-test your usecase by reverting commit dbac5d07d13e ("usb: musb: host: don't start next rx urb if current one failed") to see if only commit b5801212229f ("usb: musb: host: clear rxcsr error bit if set") itself solves your issue? I know you have tested the patch in [2], which is similar to commit b5801212229f, but tha latter doesn't have 'goto finish' which does dma cleanup on errors, it makes more sense to me. But I'd like to have you tested with reverting dbac5d07d13e to be sure. [1] https://marc.info/?l=linux-usb&m=151689238420622&w=2 [2] https://marc.info/?l=linux-kernel&m=146185425805967&w=2 thanks, -Bin.