Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp3173097imm; Sun, 1 Jul 2018 14:18:19 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcmdxY3jpPAee7LH/4GvxoyIPaiR7mpuyYpII0xNbz9DCxilNmSSOnwUpkPFAqDgdfV4bz+ X-Received: by 2002:a62:5582:: with SMTP id j124-v6mr2929723pfb.20.1530479898950; Sun, 01 Jul 2018 14:18:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530479898; cv=none; d=google.com; s=arc-20160816; b=qEN1riBM62+9fh5edGgpS3jGUjjR/49J+Gq/7r8cxhAkgS4j7DcmJAvTo6Wa0hBzg5 yu/nYLYf7I6OH3FiV7WxfN4yWSU2+iBxCuLHWj5JyUBc3PEnsSMlPVkw6J8UqQTRe48V +rqdpVTgy5OVyaebJX8mZAs08DFdVKo4BCSmT2EI7BH9ne6iVvkzaJSNk2NAt/KQgRm/ FKEGSyco5Iz47bwdDre9hBiRrWFRkoFjANtEyYirKM7OJVCC2H7KCJ0M5n8heacnTfAw m4xOKGbRHUqrUy+QZmQ+OELFH3g8qkTG7BYNrHhAM0DkauZpqS0xCilj3LT1q47wkKr/ C2tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=PE+cqZJgGfmZy5tfwroTRSODwkKbTPIjQCU6pfGeCcQ=; b=wl+CjRfvtwZDLVppQIwuBzYAK8/Y16td18mO6IhQDeMQHop6dAZu7S5uH+bdn9CBPn Vj0b9yWNWWO+p0egHIFBeh6Q9iTz07ZwmNJe56RvJEtPgXjhSHFA6kied5YEWZ3KK9FC R1WPTBS7vahCe51jWACmAiBRkIKuBLXcMOgR2hDmeQuTZBgRl65/RdDV6zrjrBjp95Hi rF7oQgJdAI8wJzf2g1dzxH7Qbe0HUtcD0Q7FHqGkzIB0yrqEZZYrJ9C2ugFXQSoqYEir Zb2jtu02LNhL8TNnX+9xshyE7LvP3vn1UhICG5wVlIxgYSvLgLxqm1gzayhZHWIx+5X4 WuBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e185-v6si8902224pgc.318.2018.07.01.14.18.02; Sun, 01 Jul 2018 14:18:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752564AbeGAVQ2 (ORCPT + 99 others); Sun, 1 Jul 2018 17:16:28 -0400 Received: from mx3.molgen.mpg.de ([141.14.17.11]:58681 "EHLO mx1.molgen.mpg.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752407AbeGAVQ0 (ORCPT ); Sun, 1 Jul 2018 17:16:26 -0400 Received: from localhost.localdomain (unknown [62.214.191.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: pmenzel) by mx.molgen.mpg.de (Postfix) with ESMTPSA id B13BE2012BA066; Sun, 1 Jul 2018 23:16:23 +0200 (CEST) From: Paul Menzel To: Greg Kroah-Hartman Cc: Paul Menzel , linux-usb@vger.kernel.org, Alan Stern , linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH] usb/host/pci-quirks: Only reset USB bus on NVIDIA devices Date: Sun, 1 Jul 2018 23:16:07 +0200 Message-Id: <20180701211607.7833-1-pmenzel@molgen.mpg.de> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, on the AMD board Asus F2A85-M Pro there is a 100 ms delay as the USB bus of each of the two OHCI PCI devices is reset. As a 50 ms delay is done per the USB specification. Commit c6187597 (OHCI: final fix for NVIDIA problems (I hope)) unconditionally does the bus reset for all chipsets, while it was only doen for NVIDIA chipsets before. As it should not be needed for non-NVIDIA chipsets, only do the reset for Nvidia devices. Tested on Asus F2A85-M PRO and ASRock E350M1. The USB keyboard works and the LUKS passphrase can be e ntered. Signed-off-by: Paul Menzel Cc: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org Cc: Alan Stern Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org --- drivers/usb/host/pci-quirks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c index 3625a5c1a41b..f6b1a9bbe301 100644 --- a/drivers/usb/host/pci-quirks.c +++ b/drivers/usb/host/pci-quirks.c @@ -784,7 +784,7 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev) writel((u32) ~0, base + OHCI_INTRDISABLE); /* Reset the USB bus, if the controller isn't already in RESET */ - if (control & OHCI_HCFS) { + if ((pdev->vendor == PCI_VENDOR_ID_NVIDIA) && (control & OHCI_HCFS)) { /* Go into RESET, preserving RWC (and possibly IR) */ writel(control & OHCI_CTRL_MASK, base + OHCI_CONTROL); readl(base + OHCI_CONTROL); -- 2.17.1