From patchwork Thu Aug 12 17:16:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Protsenko X-Patchwork-Id: 496039 Delivered-To: patch@linaro.org Received: by 2002:a05:6638:396:0:0:0:0 with SMTP id y22csp595406jap; Thu, 12 Aug 2021 10:17:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzzuzt0kz9sHFT9cW4IkKI7erPcScxUVd1Oe1IvYVryWjwlnIPuwWInpr6LgHGidv640M+G X-Received: by 2002:a17:907:2bc1:: with SMTP id gv1mr4888593ejc.58.1628788624684; Thu, 12 Aug 2021 10:17:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628788624; cv=none; d=google.com; s=arc-20160816; b=opm4uaXjCFs/BCcD4FvZkblGRGIVRwauv2FzdyUMMmoYP+Uv8B2g72Few+yFTLaSnG v258C2il0lgBD9QAwPTNHqOQ2AEpNkzl2gN1E3j26PydX2po3+GO3BR1g1b4FiHOQanm 6NYkktRmyznb97jcWqhCqsOEKfLLYyOJiABQETzvfuPjgdkzNRhIAXFlwnCPmdjx78PK JP9jjrMQ9n4YQlVLjBNzXUa5dTO+j3uLyNo7ruEyGrZ3FutvuVylujcsudA2BNgiWTNs QsztFRb0Py5cvt+pRYIfQc4vKbMXg05mhKvxw+HZjInjLpneWoZ455Zps/YIxQQamRXN WwTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=575RKXlVoqe+Vms4/CGvY3NT7USl2X3vSq6hXihEXlY=; b=j1df9IMtXea06Wn0BxmKlw0TdQ6mJIBVBDC5Z+WcfDC1BVEuXtYrcdgJ0vmS2I1MT0 8nORiTVBMDlHt+SpKewCYGkuYijA/VNjElY5oKyboaksEcam5AF5RwRaxov2JlJs3r+O XPs4NEL2gKbPu5W3KXEzG+FzH4PeUkstA3XlemMbooM8/7wWPZqQZFpw+tdFCjaBxAq4 qsSzBK3VmAkJa9tEJycK/YKMjO4dlxCwtPoE5vY0rx2JzqgxWGdA8KPIvOdlYLaLVZwC IF36Hqk3Z+MIbcG4YtKiDZc6IWWCao+tJp5mluTxYUvinS3L/zobSU+xxSSEfuPEA3Qw hKgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="xvX4r/aX"; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a3si3226044edy.351.2021.08.12.10.17.04; Thu, 12 Aug 2021 10:17:04 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-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=@linaro.org header.s=google header.b="xvX4r/aX"; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235385AbhHLRR3 (ORCPT + 12 others); Thu, 12 Aug 2021 13:17:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59298 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235044AbhHLRR2 (ORCPT ); Thu, 12 Aug 2021 13:17:28 -0400 Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 30752C061756 for ; Thu, 12 Aug 2021 10:17:03 -0700 (PDT) Received: by mail-lj1-x236.google.com with SMTP id a7so11548766ljq.11 for ; Thu, 12 Aug 2021 10:17:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=575RKXlVoqe+Vms4/CGvY3NT7USl2X3vSq6hXihEXlY=; b=xvX4r/aX94idi4fHu4lCa7oTqnjNocknJorx4oYDTTT6fAeLHu5ayytkWKbMG1Ll5b K5PX9uUXBSf/dHcYZsSBTNtC/59tQiYnI0qc5tl0e3ly8PEdUdp3xm7Nms0K5RKlhU6/ To5hoHBNfcNaer+3ZrSMRy4Byxg3nU3vLVHeUVZ1J69EyTdILfguOksrOUMC2M7MHvGg nOOQFMOHrAcIgWrh+H0BNLBE+PLgK84UmnpCV7WU9Doz8nhiP3EPkv5jtO+2i/WABSv2 +/8S20yPW2gPCeOSKQOTlYOIF0C0mx3aKq4Fz5by/mKwWW5qZoAetdeq0AK4b1ODpP08 ss+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=575RKXlVoqe+Vms4/CGvY3NT7USl2X3vSq6hXihEXlY=; b=NHW4WCj/lSun4L5WjFaNUYV2Ag2prsQBWMfHO3cTxPI+4sNYMuJVamzrtCJiBwbN1y sjK/A8RK1R746638XnJ2p18TrhHE2l4OnxotG8MKF14jq+ha5W1bUDlfdWqkLWyOjJp1 gk2zpe+UgYXWB/6PvRcorIgqEEmKNZxqK6e50Pscrvu8LmpAJAgtgJ6GZ0OtKpTMSX60 3zVzlBvDEr3NEfmSDOrtyjOzj62QXP4jpkvye7+xiv66YCPaK73GVmTPnQa+fEe7FNdo 4JVfCf4BwOb0vPrCsQMrGlhbjM78NyuSXdh496F0f10rLqIYWbi3lt474EhufQlGjMj+ xmQA== X-Gm-Message-State: AOAM532URxjrJ2Ya4dfiYhan29l/Lr8REPsjNoRs9ui+NusQCaeNvfMw eQJgGJfmvZoba3mo72Vh811f5A== X-Received: by 2002:a2e:a80c:: with SMTP id l12mr3785999ljq.206.1628788621585; Thu, 12 Aug 2021 10:17:01 -0700 (PDT) Received: from localhost ([31.134.121.151]) by smtp.gmail.com with ESMTPSA id d27sm318979lfq.147.2021.08.12.10.17.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Aug 2021 10:17:01 -0700 (PDT) From: Sam Protsenko To: Greg Kroah-Hartman Cc: stable@vger.kernel.org, Wesley Cheng Subject: [PATCH 5.4 5/7] usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable Date: Thu, 12 Aug 2021 20:16:50 +0300 Message-Id: <20210812171652.23803-6-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210812171652.23803-1-semen.protsenko@linaro.org> References: <20210812171652.23803-1-semen.protsenko@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Wesley Cheng [ Upstream commit 5aef629704ad4d983ecf5c8a25840f16e45b6d59 ] Ensure that dep->flags are cleared until after stop active transfers is completed. Otherwise, the ENDXFER command will not be executed during ep disable. Fixes: f09ddcfcb8c5 ("usb: dwc3: gadget: Prevent EP queuing while stopping transfers") Cc: stable Reported-and-tested-by: Andy Shevchenko Tested-by: Marek Szyprowski Signed-off-by: Wesley Cheng Link: https://lore.kernel.org/r/1616610664-16495-1-git-send-email-wcheng@codeaurora.org Signed-off-by: Greg Kroah-Hartman --- drivers/usb/dwc3/gadget.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -- 2.30.2 diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 8702035d08f1..5f2e4a2638f5 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -754,10 +754,6 @@ static int __dwc3_gadget_ep_disable(struct dwc3_ep *dep) reg &= ~DWC3_DALEPENA_EP(dep->number); dwc3_writel(dwc->regs, DWC3_DALEPENA, reg); - dep->stream_capable = false; - dep->type = 0; - dep->flags = 0; - /* Clear out the ep descriptors for non-ep0 */ if (dep->number > 1) { dep->endpoint.comp_desc = NULL; @@ -766,6 +762,10 @@ static int __dwc3_gadget_ep_disable(struct dwc3_ep *dep) dwc3_remove_requests(dwc, dep); + dep->stream_capable = false; + dep->type = 0; + dep->flags = 0; + return 0; }