Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751679AbdHRIKc (ORCPT ); Fri, 18 Aug 2017 04:10:32 -0400 Received: from mga02.intel.com ([134.134.136.20]:64163 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750846AbdHRIKN (ORCPT ); Fri, 18 Aug 2017 04:10:13 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,391,1498546800"; d="scan'208";a="1163904358" From: Felipe Balbi To: Kai-Heng Feng , Yoshihiro Shimoda Cc: mathias.nyman@intel.com, gregkh@linuxfoundation.org, USB list , LKML Subject: Re: [PATCH] usb: xhci: Renesas uPD720202 needs short TX quirk In-Reply-To: References: <20170818042050.1728-1-kai.heng.feng@canonical.com> <87lgmhqr0e.fsf@linux.intel.com> Date: Fri, 18 Aug 2017 11:10:06 +0300 Message-ID: <87fucpqotd.fsf@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2186 Lines: 62 Hi, Kai-Heng Feng writes: >>> When plugging Logitech C920 webcam, warning messages filled up dmesg: >>> [77117.655018] xhci_hcd 0000:0c:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? >>> [77117.659018] xhci_hcd 0000:0c:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? >> >> have you confirmed this is needed for this controller? > I just found commit d2f48f05cd2a2 ("usb: xhci: ASMedia ASM1042A > chipset need shorts TX quirk") and did the same thing for this > controller. > >> Anybody from Renesas has confirmed it? > No, it's a user reported problem, please check the bug report in the link. > >> Do you have an errata document to refer to? > No. Probably need Renesas guy to provide it. or confirm it. Yoshihiro, do you know if this is needed? >>> [77122.622952] handle_tx_event: 541 callbacks suppressed >>> >>> No more warning messages with XHCI_TRUST_TX_LENGTH applied. >>> >>> BugLink: https://bugs.launchpad.net/bugs/1710548 >>> Signed-off-by: Kai-Heng Feng >>> --- >>> drivers/usb/host/xhci-pci.c | 4 +++- >>> 1 file changed, 3 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c >>> index 8071c8fdd15e..8566b43e19ba 100644 >>> --- a/drivers/usb/host/xhci-pci.c >>> +++ b/drivers/usb/host/xhci-pci.c >>> @@ -202,8 +202,10 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) >>> xhci->quirks |= XHCI_BROKEN_STREAMS; >>> } >>> if (pdev->vendor == PCI_VENDOR_ID_RENESAS && >>> - pdev->device == 0x0015) >>> + pdev->device == 0x0015) { >> >> unnecessary >> >>> xhci->quirks |= XHCI_RESET_ON_RESUME; >>> + xhci->quirks |= XHCI_TRUST_TX_LENGTH; >> >> xhci->quirks |= XHCI_RESET_ON_RESUME | >> XHCI_TRUST_TX_LENGTH; >> >>> + } >> >> unnecessary > > Do you mean that this quirk just hide the warning, it doesn't fix the > root cause? no, I meant that you need to add {} if you make a single statement out of the quirks. -- balbi