Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1886456ybz; Thu, 30 Apr 2020 07:13:38 -0700 (PDT) X-Google-Smtp-Source: APiQypIrQjfpOA43wesZTRf6DUK5KqdHOGDmlrjp5pIsPUO35LtcwtDETky8IUvzRny8XMFCNwX7 X-Received: by 2002:a17:906:3f45:: with SMTP id f5mr2950996ejj.18.1588256017415; Thu, 30 Apr 2020 07:13:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588256017; cv=none; d=google.com; s=arc-20160816; b=bzP71b2kynLOWFOYaNIQWQtWshpKDWCv3vtFgzPKtO1wtVWGC8wVHebfAN8Yf4pldF 6upq8MnOa/uC/t/5MLVqnvMhFHH3hPnB42m/7b4jdOexUGrVQcN6JPZsfvT19IDy9cNl rgF566vSg+Nrs0blt1+Q7F4cUSGAmDs6YdZhyMSf9JhS1xiN508CD1Aqhv5TPTu0cq1C BSH4RuXvvfkLqhTdr/ny/+oTc537mgi0aHkaob70saEsNC43U3zoyhuukApp3cOG+Iyg wg8iONWLXDleZK7fZg2vuOLmYnf+8hMQXvoCNosuzmmejG7Yunq/fqvC5Pu9GMOM4WiQ s6mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vycUtCgA8WC26XiM/gUUOVE/jrXo33Q/WZoeD0OH9Ts=; b=NzQ1zD4arzgLZmwgSdXeRJ9mNfOtJbb7W3XxHgR4JDomhJN/Y9e2SmVcR2G4SL5L5d oymrfjPe2Vy95YJWFCXvOyq4A7JsFY3PeRF4DNMQyrrpX828F7J1j/xbWn9HM8rs51uK 3/kXHm092xfqWkBh6oLOTvWAENu9BRefNw6PItLHZwAqXOEt9eb6XnjJhBIQ9NfbFF57 G0n+oLDhnek/YEc4NSaUH5U1b0iCOuYuGBvcb4K2pFiU1shl4QNV0NGVcRLJd9VTgBHD cmMVBanxSRzc0jJjb+9TLeM9wLx1/jd/isoI7epbGwhDlSp3GFoZ4GbwjkH/kQLbkeqy uSaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MnDmBZPU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j9si6009918edn.415.2020.04.30.07.13.13; Thu, 30 Apr 2020 07:13:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MnDmBZPU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728538AbgD3OL4 (ORCPT + 99 others); Thu, 30 Apr 2020 10:11:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:59394 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727982AbgD3NvR (ORCPT ); Thu, 30 Apr 2020 09:51:17 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BBEDF20774; Thu, 30 Apr 2020 13:51:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588254676; bh=usM7Jccak5exTEtTBEd6z2nFf26bUS/b4ELKv0lkYeU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MnDmBZPU7KOlVzJgz3bw4vJ2WlygTypmRj2TWLAxY6aaXXsMLrJfPmDFBTXCoJzGu lorX7F3pSF2vI3GOQ9hyuv9dXDsY0chqPkAjCptx8G9/TxZE+78Mzy9DYmVq28bsC+ q05+UK5+3t5kqzr49n3LG3jjx4d7mJ2dM3rwNNSs= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Thinh Nguyen , Thinh Nguyen , Felipe Balbi , Sasha Levin , linux-usb@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH AUTOSEL 5.6 28/79] usb: dwc3: gadget: Do link recovery for SS and SSP Date: Thu, 30 Apr 2020 09:49:52 -0400 Message-Id: <20200430135043.19851-28-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200430135043.19851-1-sashal@kernel.org> References: <20200430135043.19851-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thinh Nguyen [ Upstream commit d0550cd20e52558ecf6847a0f96ebd5d944c17e4 ] The controller always supports link recovery for device in SS and SSP. Remove the speed limit check. Also, when the device is in RESUME or RESET state, it means the controller received the resume/reset request. The driver must send the link recovery to acknowledge the request. They are valid states for the driver to send link recovery. Fixes: 72246da40f37 ("usb: Introduce DesignWare USB3 DRD Driver") Fixes: ee5cd41c9117 ("usb: dwc3: Update speed checks for SuperSpeedPlus") Signed-off-by: Thinh Nguyen Signed-off-by: Felipe Balbi Signed-off-by: Sasha Levin --- drivers/usb/dwc3/gadget.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 1e68c90a83781..bc1cf6d0412a3 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1728,7 +1728,6 @@ static int __dwc3_gadget_wakeup(struct dwc3 *dwc) u32 reg; u8 link_state; - u8 speed; /* * According to the Databook Remote wakeup request should @@ -1738,16 +1737,13 @@ static int __dwc3_gadget_wakeup(struct dwc3 *dwc) */ reg = dwc3_readl(dwc->regs, DWC3_DSTS); - speed = reg & DWC3_DSTS_CONNECTSPD; - if ((speed == DWC3_DSTS_SUPERSPEED) || - (speed == DWC3_DSTS_SUPERSPEED_PLUS)) - return 0; - link_state = DWC3_DSTS_USBLNKST(reg); switch (link_state) { + case DWC3_LINK_STATE_RESET: case DWC3_LINK_STATE_RX_DET: /* in HS, means Early Suspend */ case DWC3_LINK_STATE_U3: /* in HS, means SUSPEND */ + case DWC3_LINK_STATE_RESUME: break; default: return -EINVAL; -- 2.20.1