Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp692684ybz; Fri, 1 May 2020 06:56:16 -0700 (PDT) X-Google-Smtp-Source: APiQypIfnTotr1otzbsjDJ50HG08sOZvN9PmYwVLmhYxOpbjrZ50l+RlinFyvqf73QemC16gJ7z+ X-Received: by 2002:a17:907:210d:: with SMTP id qn13mr3330372ejb.376.1588341376302; Fri, 01 May 2020 06:56:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588341376; cv=none; d=google.com; s=arc-20160816; b=ugj6VeA1nkr8IDuLQpA3RwOvvM2HwCzRyEDgAs+ot8ztzWncJsqMeD7ZZuWe6FTGuQ /jYDp2zE7Up5kvoGvQEaIVJ7LQSDKCDtmHxEDrZjbFQhD/Dj6CJ/fEd5u9lMexFeEeIP yb7AShnL8FNCYYb4hf7S41fauKPCp7AOqAFuCNryN/0apKRvrFrIjeMosumLAG/3Xm5Z ft0o2h/NnvjIiNBvpWSHqADE8GEUSdMNG277Kb0FeCJ/RAYHWloXYuDDZRLZhEy1hWI0 +i9XUZK9wECvXdcbRC5ND2BdUyXLx4kKUGv2rkjjJYLpvSkXNHceZBZFNQYLTP92qbOn F0sg== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3oCat+HCmjPuL2CU4jbgidhFC3BHshAfO68vuIbld8c=; b=vMD7WZm9/lBaVpikxVX9wKOV0/eXlvUCzWFgnb3J3ZVlOdr7Xw114l+mCVBAZ/SOu5 nIN3lYZkDr+OwqhptEe1v6xsVkQHKT1rRpG4egRfDmm0bS8G8jBvbC0wVhJVWp2D4+pO u7sN4EWgETbuPbClNUx+OVdAr4rlAPrcUYjSrRaZtER/glqfymbEBt3oMn9b6vbGorTP nQJiRWhp6ICMN+vUMXa+YFSnF+d/YUYQypDghXBxOA7VeqexI5DxuJqATWiMxPg3yn0b 9fVUyCb6z5rtskpOcvP7CXpzk0p0hivpk6ltbKd4qLHqYQstXOGXcKAGUAAqUuZL0/ky mmVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SG0XHYdw; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 4si1805902ejy.347.2020.05.01.06.55.53; Fri, 01 May 2020 06:56:16 -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=SG0XHYdw; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730646AbgEANiD (ORCPT + 99 others); Fri, 1 May 2020 09:38:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:37332 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731000AbgEANh6 (ORCPT ); Fri, 1 May 2020 09:37:58 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0B96C2495E; Fri, 1 May 2020 13:37:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588340277; bh=utsCfuWAYLZpKVlPrFWY0Hxq69c7Gb7mBIKGNiK+O94=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SG0XHYdwFuRZ27L1TgovFIqDWYkZqPs7Wjpif1nXYtDc9TKllBqc1zGaGAY4IKAud RXFe8JBTqLRO5UOGj+ub3K/U2QpJqbtunUvF2xpo3+ASn9hNV2YgjivAeuWVEyq+IY zlc69TuE2tSfIpEApl5TmLkeJnCc3vvcX9ydA/xY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Thinh Nguyen , Felipe Balbi Subject: [PATCH 5.4 05/83] usb: dwc3: gadget: Do link recovery for SS and SSP Date: Fri, 1 May 2020 15:22:44 +0200 Message-Id: <20200501131525.450506908@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200501131524.004332640@linuxfoundation.org> References: <20200501131524.004332640@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 commit d0550cd20e52558ecf6847a0f96ebd5d944c17e4 upstream. 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: Greg Kroah-Hartman --- drivers/usb/dwc3/gadget.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1725,7 +1725,6 @@ static int __dwc3_gadget_wakeup(struct d u32 reg; u8 link_state; - u8 speed; /* * According to the Databook Remote wakeup request should @@ -1735,16 +1734,13 @@ static int __dwc3_gadget_wakeup(struct d */ 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;