Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp688464ybz; Fri, 1 May 2020 06:51:17 -0700 (PDT) X-Google-Smtp-Source: APiQypIyJGJchH57Pj2T/7d7e7urmFzCkqGAXqjrHkHbnr1htrYMIkdgbdaCOB8eqXfi8yvO/K1W X-Received: by 2002:a17:906:cf8a:: with SMTP id um10mr3223420ejb.60.1588341077421; Fri, 01 May 2020 06:51:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588341077; cv=none; d=google.com; s=arc-20160816; b=u30lMaQLlsgt+bkBuM3SaTmx9SejO4x7RxGqO8KB5m/8Ly2JPwUtQZynKRYCfHjRoV 87GSiRTEoG5yqw9nXD16nrlohyfYfBmUwxKmbNsgpMB/wvTJHPfUasG7mk4GVk7bvWsC 8MKwSgUwm2CHFb4kzL4GIiAsnWm5BKMO/8FssxF/OhJ9aEnCOAK8dnz2Yaydzqmsj4wO VtjUesbnwCaB0iwJgRs6GL+kF3HM4ShW3E56F9pOUfuMshQqZdJdUtctGHtmLWRR7o6Z FHMNAOQH+91e4wLg6I4i0gMjRswI5e7CTPsIaeMWB9SYrcyaavzVeI9w3vg6rm0jBu/L 7c7A== 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=0r8IDHrj/deXI/2NSLoK2b6BoZX/o7/ZKNf7V6z17mY=; b=Lb6plh0QKFFjM8K8RSYiRG8qyl4Sy9Zv96V1QfEj2MrAutqoI2XXBzt/jSyVO642YE dd1/nrRJEGZzv3jUv41CvpUbQdhXT6FV0Za7CpzDAqSOeekrhHBR8GrX8A6C6ssHg0dY suFegxAAegcK22noLr2kXQgzE3gFIO50bb/9WQmad9H3V6I/VtD/T9iwV2XdCwS5rpvV kFidoM4Ktl46BIGOSOU1UH2OWXVdHLKgJ+vBIKl4F4motycrrFhkNs5gWtTL8CHw3Aho CNPgE5VBjUZqT/tcFREPzR7Eu6ud4bVjJaw7K2ixw8Dn9O9FsjgB1x+CTgATZ6SxFZwl G+Nw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EJXGwytI; 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 rs10si1727785ejb.288.2020.05.01.06.50.54; Fri, 01 May 2020 06:51:17 -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=EJXGwytI; 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 S1731561AbgEANtP (ORCPT + 99 others); Fri, 1 May 2020 09:49:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:41888 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729765AbgEANlc (ORCPT ); Fri, 1 May 2020 09:41:32 -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 5FCF420757; Fri, 1 May 2020 13:41:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588340491; bh=OjR8h7N5ftFb4/Z9Ego9JsTtJSIyUIZxeTJX+rOmBi0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EJXGwytIibJP1sznECwp6wWbklwXdaa8wWcZJiZR+quI1bDSAggLJM2qxswy5J2wt LTZnKk4xNmLai01OEp28xaDFBrBFmKHHqb2rUpfYmIyPiZtrXkKbG1Yz5TvIKb5Flu CY2+Qf1z8DzmhhNZ6nqi3BrPPHTWCBCr/zsocfKc= 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.6 004/106] usb: dwc3: gadget: Do link recovery for SS and SSP Date: Fri, 1 May 2020 15:22:37 +0200 Message-Id: <20200501131543.985322480@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200501131543.421333643@linuxfoundation.org> References: <20200501131543.421333643@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 @@ -1728,7 +1728,6 @@ static int __dwc3_gadget_wakeup(struct d 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 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;