Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1776294ybl; Sat, 11 Jan 2020 02:35:48 -0800 (PST) X-Google-Smtp-Source: APXvYqx+wq8gomC+Dn5x+aQGyqZRjhZA59cICWnbp2x8HJYEH3BVYnrFIwTdrvy9L+A1qpTB1dnW X-Received: by 2002:a9d:754a:: with SMTP id b10mr6501878otl.273.1578738948055; Sat, 11 Jan 2020 02:35:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578738948; cv=none; d=google.com; s=arc-20160816; b=DP46R6islmDqPVRu4boroUFmpMSrfinTcsrxcT+/6UGGLbcy5wCTUVgCVETMWXARX6 2LN5gJWRo5J+2wSCFLAbpJy+2P27QArRLzYki3V4Mm6MDaw3R55iFa7/BonrGpsPDQnt HC4fme8soukvL8Yj7hTQAjyZ/x76tjaZMeE8kwRepgYYRDqcOHS0ztNiTwm+MGGEqnng 9mCRlU6ze/lJTWKDWoRnkXlLWwhrf3c/mXg+OcTcPTNg6SonQN687Q+nDWPkxlEbuLa3 qLfRaJqwiDVhgvWMQUr1Q5GiLl6x3yCAxKiHB3k4YlkljNlOtPehxwiiD4ltq5uGy4AC ecsw== 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=9qtTRwox04QSm/RIpIV9L4Xi3OWdwLNYF/FC/gF+qkk=; b=kYPwNIwL6FJWiKSnm64+FheMh3E1DKJqCLH+BBQbiKCWWn5fnNhegrv9cWbouGn1iV 2EvLYuKMnsoJ3BOMl9MoqPh3NnbUHJq1PiPbp5bGqqTB3sg+hVG4X03ZZFEnmd5TRpjY Ye1Nv8UsNlnTWiD/bDsfziWSct/zeuvnrLzG7SWMQV17KerudeSa6LxLvoGTbNO08NfP e2cCBWzCll6MxtMpto0ZgocaS6U2AZsptaUzCeYXXWikUB6PWK2G9x7SpkDoLDY9ydWV xMWBsxU9NXAYA0ryv4Tq52VAf94Swgmqbkk4KM0J60R7c/wBNMo0XjIXmxwMxjQ5mlMH wUxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Gmwo0bJ0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 30si3210325otr.75.2020.01.11.02.35.36; Sat, 11 Jan 2020 02:35:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Gmwo0bJ0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731695AbgAKKea (ORCPT + 99 others); Sat, 11 Jan 2020 05:34:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:50696 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731597AbgAKKe2 (ORCPT ); Sat, 11 Jan 2020 05:34:28 -0500 Received: from localhost (unknown [62.119.166.9]) (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 3491420842; Sat, 11 Jan 2020 10:34:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578738867; bh=8BA9Z4C/DYOID+GlvHj2ZQFLM+aBKq46II69elxwjfo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Gmwo0bJ0LZBy2LEIlRuyR4LrVrhWtDlo/YUmMS1p11peAOuJirYCFy5UOBUonLHhp 1Te5yW1bSc56LQTUo+9Sv/e/gFrsDrI4vTia0pzBx9tZ/XHXXWr8rr/OjIS4vRj8MG 7qdpNISYlnH5TN1JkrrKuPL5ThaAnox4h1ecA6KY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Thinh Nguyen Subject: [PATCH 5.4 162/165] usb: dwc3: gadget: Fix request complete check Date: Sat, 11 Jan 2020 10:51:21 +0100 Message-Id: <20200111094943.276462561@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200111094921.347491861@linuxfoundation.org> References: <20200111094921.347491861@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 ea0d762775e20aaff7909a3f0866ff1688b1c618 upstream. We can only check for IN direction if the request had completed. For OUT direction, it's perfectly fine that the host can send less than the setup length. Let's return true fall all cases of OUT direction. Fixes: e0c42ce590fe ("usb: dwc3: gadget: simplify IOC handling") Cc: stable@vger.kernel.org Signed-off-by: Thinh Nguyen Link: https://lore.kernel.org/r/ac5a3593a94fdaa3d92e6352356b5f7a01ccdc7c.1576291140.git.thinhn@synopsys.com Signed-off-by: Greg Kroah-Hartman --- drivers/usb/dwc3/gadget.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -2467,6 +2467,13 @@ static int dwc3_gadget_ep_reclaim_trb_li static bool dwc3_gadget_ep_request_completed(struct dwc3_request *req) { + /* + * For OUT direction, host may send less than the setup + * length. Return true for all OUT requests. + */ + if (!req->direction) + return true; + return req->request.actual == req->request.length; }