Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp798362pxb; Tue, 3 Nov 2020 12:50:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJy0u23c7mXu+p0kV3N5iqrpt6sKNXrHY3hDhp2wv1jVIpApGeNH/h+9I3D9XW8jsnCfAQCl X-Received: by 2002:a17:906:4306:: with SMTP id j6mr22624328ejm.523.1604436647861; Tue, 03 Nov 2020 12:50:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604436647; cv=none; d=google.com; s=arc-20160816; b=efUWhyqWAl8SLdTN+KYQu4tRUrZ+BMD7rN0zMHxUOQdKqhjSaaRG/QXkIzLspEuuYd Zkys4FN1KT8wCd0GHoQx5MomlnqSwN3fA/Oo/W3ybGBZa/O71S5U/GWz46KN7LLWzfNi UhPrc+DELegyafqbehSmJiKcyOcnmB+khhOofwUvpZrX7qiQZJ4DrxkR657KWOuTVunn j5Wz8aUgR7or7xUbqDKQOxEOY9H+ChAweZrz+EtB4VeYnDXsPKQ3v1NnOct2WscVLigW dogPHSa27WQZJzeeVqklK0MrIpbtfP0zLVS4m/6W3749mePEy6FHrVk0s6H9mrN4f4fj A76Q== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Bgft9iqcuwWlMcfLBynza5Kw58enIjwlR2SHdGu1dis=; b=zJo2aK5Rzopt9u3GjfDsTAypTgYufI4CwLh+jzLFvuZMzuKBZ5iCHoSkU3tTpb+MsJ LXCp+3O9bwie945csdY3LXPmS+2+Bfsd25a1Arcd7Uh7ZrdbhkJEa1Ai9gpzryNRT847 cTpfIr3O8SF5aXGiBhgq5XfTmqPOi1w9aP3r+IUzelRHSGixOXlGRkTPZGr/3/6Inzze BhOyRv4/+Xa+VP1ZRPBiE8hxwiy+qh6fpOYlsZpNZtRx5JwyxswpsZim6Y6Dzp61FC+6 79onRxxKw5rvm8pAZpEe4Anpcp7+5UN54uhvTQonm91gWyqHmLaBfh4Al5Mg9Gp2Di5K UAqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=u+g6J0uw; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d20si10786810eds.29.2020.11.03.12.50.25; Tue, 03 Nov 2020 12:50:47 -0800 (PST) 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=u+g6J0uw; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731274AbgKCUrA (ORCPT + 99 others); Tue, 3 Nov 2020 15:47:00 -0500 Received: from mail.kernel.org ([198.145.29.99]:36860 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731269AbgKCUq5 (ORCPT ); Tue, 3 Nov 2020 15:46:57 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 C003D223FD; Tue, 3 Nov 2020 20:46:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604436417; bh=1eDA43D9OPH6hn9BzUCBHAYUvRiTlIuyfESdnBMJgSI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=u+g6J0uwR3TDzwva6z5KT7CjidDgh6AVn9Gcs2FP/uP1cFmGVHQ8fjHYUQmLIxK/Q MeZGQMuw0E5rM5RGuLDwQogndN3CIe4Kgkmk9Cy73DK+T4TIMoxvhiN43Beca3CmWk GFV9P4X70XtQRf3mJNxzPMA+Qe8jZQb6S4ntswq8= 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.9 241/391] usb: dwc3: gadget: Check MPS of the request length Date: Tue, 3 Nov 2020 21:34:52 +0100 Message-Id: <20201103203403.268536457@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thinh Nguyen commit ca3df3468eec87f6374662f7de425bc44c3810c1 upstream. When preparing for SG, not all the entries are prepared at once. When resume, don't use the remaining request length to calculate for MPS alignment. Use the entire request->length to do that. Cc: stable@vger.kernel.org Fixes: 5d187c0454ef ("usb: dwc3: gadget: Don't setup more than requested") Signed-off-by: Thinh Nguyen Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman --- drivers/usb/dwc3/gadget.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1095,6 +1095,8 @@ static void dwc3_prepare_one_trb_sg(stru struct scatterlist *s; int i; unsigned int length = req->request.length; + unsigned int maxp = usb_endpoint_maxp(dep->endpoint.desc); + unsigned int rem = length % maxp; unsigned int remaining = req->request.num_mapped_sgs - req->num_queued_sgs; @@ -1106,8 +1108,6 @@ static void dwc3_prepare_one_trb_sg(stru length -= sg_dma_len(s); for_each_sg(sg, s, remaining, i) { - unsigned int maxp = usb_endpoint_maxp(dep->endpoint.desc); - unsigned int rem = length % maxp; unsigned int trb_length; unsigned chain = true;