From nobody Tue Sep 29 13:19:53 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5707342882B for ; Fri, 7 Aug 2026 07:54:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089292; cv=none; b=L4pbO/uhTC6Kl0hF6U0EndT7QXlKT9N5JisfOf+IcadgWpv/DQRsaoakcGL1M3rN/b1n4gtDzdXt3wfXfW2C6R+RwLr2V1rw77T8lJrLf+io3DtWrBO+1YLr0iKViQ8LqK6HUQ2XL0PFgHIbvbtUJ+YltQk8aqG2QU1QMOVoIEo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089292; c=relaxed/simple; bh=LzUQ9z3EwZDrx7+JCmwkMDCei7rXNlUz4faMOKZ3xRY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a+wO1MpVDVijNRtSP/95D8os7rKCRsZIZXF8EDDfSEwskfO1rpuVJ32BgfTCenWSNYIshv1B9YaxPaxrr52ce4qeCNUVsYndWKlCD213BH+hWHAw3Go0nIQoiWrli/7ni6CTRiSmvRO3eUVLEqDQk8P6XIY8Q32YkSUTtxIOQnE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=hnlz7Pkx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ksZd+ii4; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="hnlz7Pkx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ksZd+ii4" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6770GeUx492898 for ; Fri, 7 Aug 2026 07:54:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=I1vquG2INCl NGexvMcrCNwSmjSx5T93OBZMPmuBrtpg=; b=hnlz7PkxnRG6sJWyX60rjjOl3bD lIGl2CwOrKKa7qZlD847q5tNTOAPro1bOG43twu0h3r9z9gYsFry0F1oul91Ylmh YLMz0pPo9FTpUpoep6ScyMcD8W5PPG1L6ac7v2/oss5+qNd2/fUyVZ+SKE+Fjm7l hiWzyWFVoou1u4joYWZecXDbO+qXgFSF1OQc/D7jf4Eiq3T3u04j3S+8Hz7rm0fj 9/6CQFoGNaGkWs3hng4GLKS33+GZzXd+gvMXJ1fs0jn+6xmIrhhzAb2SixXz0qF3 ggmXtdWBq1kZhPhB+WgjJ1z0AnFvptpfKGJTYwKvXw4a6b8NIby62y/pZww== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvy6ratt8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 07 Aug 2026 07:54:47 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-5276aa86d00so30322571cf.2 for ; Fri, 07 Aug 2026 00:54:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786089286; x=1786694086; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=I1vquG2INClNGexvMcrCNwSmjSx5T93OBZMPmuBrtpg=; b=ksZd+ii4LI0XrBU6HkITJKUx1si+0MEkN0csXa2049l5QQiYG/OoodCosXswreYb9M NSwlL1mb2z8tFZSuQPe0taqldo2MsyNiE9GLIOBP5iXGaRSR9QuLcdcIejgsVcQu3Cr+ IxcU7BzHhfR5A1NiKkhWKoYIfihUdcYs1w1sOAFeOeqgnu7u6e6fO8VAC2vXtJZ3FISl 6bbL8vnO0mjEIx1eQQDJlg4z02qMwYGqTnfwTJzjCtpF/3OPOQxx6v8Ji7ywTtLw339d Hz6Z1JZ526cavH29xb41B3vKy8jXBLmYiXnCXl3eS3JEzucogyoETBk+wWmqZqKoqnVP cdAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786089286; x=1786694086; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=I1vquG2INClNGexvMcrCNwSmjSx5T93OBZMPmuBrtpg=; b=aa/HDn7+9DbVo7ZNXRtEXre2T0e/GXzyGIDsYXFm8M1ms3Vx0ol9ZEPTalX9Jh/6KD 6YlW1cX83pL1WfyhdBQ+eSWa/K/TdR0zOXaZwF2xmhln9XAQ/pj/cQeiOb1ZxmgaOCBa ajxjCrHv/LfjumD0m8EM9JKNn56cGKioO1dQAd6Z+Viw+XQz92/BupbkQjoN9uc8woWs qV0Z5RpT6I6jqw62CFN7tlDpWG2oLAWI9dKbuk1ynFV+53Mf7eJykZ3Cyzr7uyRLfNTz VpvLTe2lMIOmSgfdmdnlb20qXoEEAdVDC+jXfseD8H8qwC0viMqeVQoW88B4U+FqeDHP r7Ag== X-Forwarded-Encrypted: i=1; AHgh+RrviyxJ1kLQ1a0/mpmSRcC7I0R6oNOPJRtYH5YlrDrtrb1jxclVpW6bBslxRWsvOo/V3I/eUgayjGHZkdY=@vger.kernel.org X-Gm-Message-State: AOJu0YyGFFukCZkAXzxRmhCQFkc3MlvBtKTcdOpJhlZxGAPPdLpRuCx6 XaG+Ce72tMYZvC1/USInUsAvEPzhdWzfbR9C2jg1lWsHNfrgrQU7Xc0h0Aof1kgyBzar6qWye6i lCbG7IeX1QQslQVRVi1UcYsqiqAU/vCSdLA/S+guoOsIoiJ2z1HFc5maLOS1b15Ac/Zk= X-Gm-Gg: AR+sD106PeTr0eCo21zryGoapci4vAFmkarsMQEJKbF/ntxldJ7tZtGdkR79hBBnvWr KhqIzg9561OQdbzdc8wLWBZc7rdMEtxXuhKIzy+nb1kRTNxZbhkCvnbJT5qnRjxvcaVA8bk1rp7 8gPkMsYBHFB1gDgNJLlI7sRRVyhyxcb5xW/424g895HI6B1QkT3g0lyLSZbx9Gsr208iXhUyaJt E59RBkmO7ltn8Dgvkq2vUGEdnjpx/fXLWbZ17woLM2IUazVCvHqvcE31/bbnr8vDd5QY3ErPi9W PysJ2tLBMovEWvN3BMPi3k4XTwp0sIZuOYOsvy2Cn1FbF1y7ofs+qrcEGdqvu1+R43e6Ive/dbG AZ4BV4DkHMiVhbreNxVV4NkZvSQddXh4= X-Received: by 2002:a05:622a:994:b0:51a:ee21:d342 with SMTP id d75a77b69052e-52ce61015cemr216436741cf.20.1786089286130; Fri, 07 Aug 2026 00:54:46 -0700 (PDT) X-Received: by 2002:a05:622a:994:b0:51a:ee21:d342 with SMTP id d75a77b69052e-52ce61015cemr216436601cf.20.1786089285784; Fri, 07 Aug 2026 00:54:45 -0700 (PDT) Received: from QCOM-WFsSr66Fqw.qualcomm.com ([212.136.9.4]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c2080cfddbbsm20020666b.61.2026.08.07.00.54.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 00:54:44 -0700 (PDT) From: Igor Skalkin To: Greg Kroah-Hartman Cc: Alan Stern , Felipe Balbi , Tatyana Brokhman , Kees Cook , Sebastian Andrzej Siewior , Sebastian Urban , Seungjin Bae , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Trilok Soni , Igor Skalkin Subject: [PATCH 1/4] usb: gadget: dummy_hcd: fix SuperSpeed ep0 maxpacket Date: Fri, 7 Aug 2026 09:54:35 +0200 Message-ID: <20260807075438.5566-2-igor.skalkin@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> References: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfX7tthoCs581+Z 1LCnpPPMqhXx9zmhklPIILl80nJXFF1FT9pyp8ix+FdcGSmznu73uaEm4QCHR2x6kUVyMe13hdG yNlGwaJm/tU4/8nTI1X2P05Gp8HzAOdIGxLhq/XZHV+MaBCmnElBVrxije1o6G82lntAC2ZRL4T UtuAjL3UdSpNRenDpdHile4dAmXAhnAmS9i3YVdRnlg1T4csEKr6wWBLh+xdsFU18mcg7QtiOy9 BF0Ow82QLb/x5CkgY1FBJA/OgIqzDl1vUZoHx6Bii9lVkLT/R/oK/RG6bqq0onT/msm/9kViJnb YYXqVPS5XO3beZ666zyqhLdt6vN/ga5DYdI3qibe89FYXUxzZQt7IoBiuu/vtriKElrDYQf4yKD 8Iwsh8YECi+fKMWX4/Py/cdJfb138sfJkhiZPXnBiA/EATGvOs2Q5Zn0aYyLZUMcuhfwPyX4PPe CxPI2CcENCWHUgIMDbw== X-Authority-Analysis: v=2.4 cv=HPXz0Itv c=1 sm=1 tr=0 ts=6a758f47 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=dNlqnMcrdpbb+gQrTujlOQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=9LMInSQd5oSPQDHo0H8A:9 a=ZXulRonScM0A:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: Ov9aV90EDksXs53vctNEF1mBajZVM-LW X-Proofpoint-Spam-Info: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfXzv98Io9ZVKd+ o5sMciCFLH0P1Q8KKTH/TQA5N4OnuknD+wtbhGSHFv5lwyuHUNo6oLWATvLZ+pYdR47NZI+G1Oz PaYzna1DokekhNmWqlFjHRMgmPzgZ5o= X-Proofpoint-GUID: Ov9aV90EDksXs53vctNEF1mBajZVM-LW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-07_01,2026-08-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 suspectscore=0 adultscore=0 spamscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608070057 Content-Type: text/plain; charset="utf-8" For USB_SPEED_SUPER, dummy_hcd sets ep0 maxpacket to 9. That is incorrect for SuperSpeed ep0 and breaks short packet handling in control transfer tests. Set ep0 maxpacket to 512 for SuperSpeed. Fixes: 1cd8fd2887e1 ("usb: gadget: dummy_hcd: add SuperSpeed support") Signed-off-by: Igor Skalkin Acked-by: Alan Stern --- drivers/usb/gadget/udc/dummy_hcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/du= mmy_hcd.c index f47903461ed5..29f671c7b319 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -896,7 +896,7 @@ static int dummy_set_selfpowered(struct usb_gadget *_ga= dget, int value) static void dummy_udc_update_ep0(struct dummy *dum) { if (dum->gadget.speed =3D=3D USB_SPEED_SUPER) - dum->ep[0].ep.maxpacket =3D 9; + dum->ep[0].ep.maxpacket =3D 512; else dum->ep[0].ep.maxpacket =3D 64; } --=20 2.49.0 From nobody Tue Sep 29 13:19:53 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 380544252BB for ; Fri, 7 Aug 2026 07:54:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089298; cv=none; b=oCmnq+bplgdlrrXFTEa2ohvMBn5A1MMDKNA2XxukIinDA+z9pWK0t1NOmJPxeMT58vVqvaGyODnmXiYwATb9+QG4ZKbW4Q0RzoSTMnKYvKQebPjj8EiUO9miR5Gw8TgwHGqMgek/MByRopRNazZ7y61rGoGeUpKFjhSPFe7aB8U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089298; c=relaxed/simple; bh=wwo472MpYKrzIegYBW/PRjOXknak69e5bRO33p341UA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EYs7DSXmHM5vLHPbg8YkwcBG4iQ41fWK4j3h6rrKP7fhitZe2XpU2cbu9u4ukKcemsgBYjhWURxbVXsDs5/5/NUGLaKGfs9vQ4qDrQFBBSRAnDOhXXLEz6kUKSZ70JPz/YwndPFWDNn/ZkMOMkzK6iuDWAUDNPUJYUrzMxHumGI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=L2APl7oJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IUwKWABw; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="L2APl7oJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IUwKWABw" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6770Glq63218076 for ; Fri, 7 Aug 2026 07:54:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=FKLNjrfMsxn a/TQXGLnWhhml8NVmpvt+nOpvaf9vKaU=; b=L2APl7oJ6dFwxbnhGdW41BbatDw Y+LuL6Kex+bcNmj/VexjsACFAVZnWqBNdU93HgLZW2w/jQkSqVMdP88hgF9ryNOU QBYFMT2S+Vp01GAumXOZZy7cgyuYiVkM0cPSdgR/DQZSi+WGJ2UAyKEYzViWE/tH wn3M7CLe2Rxa8e3wobV+cQfc8+A9ck9eNI59MnVybjrTmVeuj/MVzhmROkycuzWT cmLVTTmrvxWebA7KDYnCC/d+ESF+0iqlIUzR5TQH7cLo3CF1H4qUej4er8grbKnJ ySppcM0WGti/Kf9lFezF3BU+Jif8RyLf8/H5vIbyGJdzVtldkA7Y7QX+Qpg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvy6htuap-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 07 Aug 2026 07:54:48 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c0e702df8so35922551cf.2 for ; Fri, 07 Aug 2026 00:54:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786089288; x=1786694088; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=FKLNjrfMsxna/TQXGLnWhhml8NVmpvt+nOpvaf9vKaU=; b=IUwKWABwaCiPD0Nk2ILzNHFnUZs2QOX/rK3AvgIq8UdScje+y9jgTLy6w4ECUTrOAb UdPPpiPckB1f9/rWM9kGSuoXfPsGs3WOXmlYwkHsoLXD0aTChWEsE6oTKr/tcNM5jEix W/Ph0IZy8Qp7AgJp+AQeQBMd0GWoDbHD6FIOP10YxJKDiE7VvcAmHz9yujTZCc5iIBNY KGL7DMtVvaEhlRgkLRFgDoTlQ0bSxu9O9f1E60PDHZdZQTa5B7dxyRRCT7J3vqbDEo44 RDgRaW3PcFXxp2SWpz0foMQu0X6a0KFJ4rB+3SY1hZjLL3Uf+VjdLjjsoXKPcY9K5LfK G/wQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786089288; x=1786694088; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=FKLNjrfMsxna/TQXGLnWhhml8NVmpvt+nOpvaf9vKaU=; b=JtG578dQG1SVEggi1jnCBSkrpk7vcSMjXl58nkvnabOCtF/xLtmKqeL51693gYkqB0 BzWuIih2v67pNSiFs0C57ei6JSfeSc8AgVHoAKXClANPnU8nAOyFWDckMhv1Q/t1QFXB quwYVfyb/HHqKQuSahc/RRqnhfrvQLa9lJMjkKUCc0GYvsRrnGqWGLmRjvZYA4gkdehP ioUMHwnUL+bWDZJatJYxMba09nyjf9km+oRfqDTmRX6HFw+hMK5HRCx4J6ebrue1qyOR upP0TSPSWOYtXQ3BMSVCEdycG4/laBcVZ39sZifrSabyj/afCn2QDlPyyAEmgHSz3RTR 8bDg== X-Forwarded-Encrypted: i=1; AHgh+RrpzvZ0FTCvRsRAkuRaDQkwIHqM3pkz/L3j1Bb1amNVUkcLNcaKW0qzPP4PTtll0xEGyhRPrP9HoN7BNyA=@vger.kernel.org X-Gm-Message-State: AOJu0YzyLiZ6P0Z75eiUaalzGncZ1jnqFYIKlP76Hu+d9pEBSibD+wWU tQ1DfqFfoj78gY4u0T0EYEc1JKXJ4AEhNy3kV5kUL2oLKcY+byOqt/szDFeNoAd1UPuAtPeKE7y 3kfIjpRPhGLdF1kQQBr4jqmh+gaGkUHK2z2sNVJoh9PTrq5rlzikIgqhGrlwT0p7twfE= X-Gm-Gg: AR+sD100WUUnTLK0IQKm6rV40B9LZvCbqpaduSYQ6u08HuCtIDjYpRuR1KizqQL8Qvl JweWcYNngioLETrNmppgVzzo4HrAyo7Q3AJdJqSFe31GtJkz5CskpBSlt6gIPPiFJT3MpqQqT15 JGsJ8Y5a1Ah5AIAdsDJbTBeMckhRSLUqY27GtW3z8CFriszk1rLDuOynneg2E9MoowUxCuQPEJM oTGucKjSliyKbKLzwKqq4ZnY++HqkXjWn8ASd25o8gxcq2luAmWhkre+MhqBb4Bz+pHfwbPGTGl vRou/5ofJONlYkMLXSPd02srjtnr+S1STf30IpSuvgFAPPi0ahYUyFh9SALYgzodtah3IIgAvtk +Swm7jzPmzsOe8jt1vlV9MBb03Fed7Fg= X-Received: by 2002:ac8:5e0c:0:b0:527:43a:2f31 with SMTP id d75a77b69052e-52ce5fbf924mr202454941cf.15.1786089287804; Fri, 07 Aug 2026 00:54:47 -0700 (PDT) X-Received: by 2002:ac8:5e0c:0:b0:527:43a:2f31 with SMTP id d75a77b69052e-52ce5fbf924mr202454641cf.15.1786089287339; Fri, 07 Aug 2026 00:54:47 -0700 (PDT) Received: from QCOM-WFsSr66Fqw.qualcomm.com ([212.136.9.4]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c2080cfddbbsm20020666b.61.2026.08.07.00.54.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 00:54:46 -0700 (PDT) From: Igor Skalkin To: Greg Kroah-Hartman Cc: Alan Stern , Felipe Balbi , Tatyana Brokhman , Kees Cook , Sebastian Andrzej Siewior , Sebastian Urban , Seungjin Bae , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Trilok Soni , Igor Skalkin Subject: [PATCH 2/4] usb: gadget: dummy_hcd: fix false overflow on bounded IN Date: Fri, 7 Aug 2026 09:54:36 +0200 Message-ID: <20260807075438.5566-3-igor.skalkin@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> References: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfXyVkL6llSQfjb AFHMm5wL+d1Qp5s0DUPugGze3F0WUw2RtM208OwwyjkTY21FwSK8OK4ICUdJCz3VZ3iTs2Tw4AI nHYFx2R9IgnCyB5TJ/sX4/nEzdLRDaY= X-Authority-Analysis: v=2.4 cv=PK0/P/qC c=1 sm=1 tr=0 ts=6a758f48 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=dNlqnMcrdpbb+gQrTujlOQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=0NqdgQKyT0F8-VDAim8A:9 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfXwm50fmYVDtmi Y29aIKv8QiZpTyfLGXTTH1NMX8wpMKrzOixUPJIdFvAwiQmZlF/3tsNBIr+XD2x1DjViGlILz44 HOnYakhLbxH7nJ0buCd/2yfe13JdR46zIdD12oY1vzPN+5PvaxiG0HcQjGDzvp81nTAPSwnFjL+ vLV1dCeUWt64NAaBw0bPdCkT8M8NW4S9fz74AOCBvRh9jHDNlVaUVndSLKxqBAH2FDbLKcUfYIz srNSutioGiIa9ektMM2G5KFKMkqgyzTklAH6I8zneOxJfSW696Ajow1Za9d4RiSFVHmEdCCdJVO h12s1xTvXvKP1xfK4eUYO+X2P9/bv8rl26KC19FSWmda7FHl+BIjjJKQmKHDcnH4m+UU0TjSmJi zAqusRZv7yK2e5IGXfs9Vgxx1xszzIpbHlAtMtW8XzTVGMIf2SCGUfI5AmLZ2o6Fh0C/ucu8NpI 5xAoEdAneuxiQ6hdP4Q== X-Proofpoint-GUID: bFUhQEv_xsb3pTesjE5EmONAamh9GOsg X-Proofpoint-ORIG-GUID: bFUhQEv_xsb3pTesjE5EmONAamh9GOsg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-07_01,2026-08-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 adultscore=0 phishscore=0 malwarescore=0 impostorscore=0 spamscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608070057 Content-Type: text/plain; charset="utf-8" In transfer(), the IN short-packet path reports -EOVERFLOW when dev_len > host_len. For IN transfers this is a valid bounded completion: the host asked for host_len bytes and the transfer is limited by the host buffer. It is not an overflow condition. Treat bounded IN short completion as success. This fixes spurious failures in usbtest bulk IN varying-length cases. Assisted-by: OpenCode:claude-sonnet-5 Signed-off-by: Igor Skalkin --- drivers/usb/gadget/udc/dummy_hcd.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/du= mmy_hcd.c index 29f671c7b319..5384806347ab 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -1486,11 +1486,13 @@ static int transfer(struct dummy_hcd *dum_hcd, stru= ct urb *urb, req->req.status =3D 0; *status =3D 0; } else if (to_host) { + /* + * Host requested fewer bytes than the gadget + * request currently has pending. This is a + * normal bounded IN transfer, not overflow. + */ req->req.status =3D 0; - if (dev_len > host_len) - *status =3D -EOVERFLOW; - else - *status =3D 0; + *status =3D 0; } else { *status =3D 0; if (host_len > dev_len) --=20 2.49.0 From nobody Tue Sep 29 13:19:53 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 384283BE62B for ; Fri, 7 Aug 2026 07:54:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089296; cv=none; b=aZmX7zNquljwpd8C3hwSBLdlsIdj9gin9VgRCqm+0V10oaMc6EwSqjGxVqoeiCfeXJcZyQ4fUPFsXIQCFGL+IEI6wuGD4hQJRntDh4wZyKHhy+48qrek7SYLePbx8O2Uygv4hTANlBdIqLsPBU6MchLqOV9iUYv/sRCXFVM3eYc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089296; c=relaxed/simple; bh=L1QHa+g+IXPKtZns6X08KrtS7KC3C9WNaYI+cWuJpsM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qztEq6Y5nZYdUoo+i1bJyeEch5ocEWpvMTHvXAKK4Yuy8BmPrcwCzBZ9Ot+42VNazQPcivhlqmUGYcbIQqlvTCMYzsdzM+s6PSJBcKA8cEKMc6ktFNPXcjV6cgEq0wa3XRwVMiEjU1VLIee7VzVgScic/kP3yHTH3tdboM1VPDM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=P+fTAx5v; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fqP9stSJ; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="P+fTAx5v"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fqP9stSJ" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6770GqHS3252336 for ; Fri, 7 Aug 2026 07:54:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=9Lekz5JM4+A I+uj3wmBnfvYLGC2vYDIjBkJOBq9+I50=; b=P+fTAx5v3lghEWjVP1DOEFjrjMh UZNPCz/CBc28R0m69PIgxJfKOA0s4WkKY8Os9PIP22yH8NmpZ6JqgPvkDLNJUJcL Ggt2RKaaqU+oCyqtum7rUNOqIcejem5jKgOq/DSItmx+3fL9ECDBLQOZE7uEM1oA fi1Qx7xNUc6gYJrD3ohnk7WYxxB8ke9IVGwpPhxw04U7zw8eD0O9bEhTrbHmaOpa CrRO0nWh7z/GNf5euA5uG3a+BKn20FvaWPzwNe8fTON3ePVDivYZhgL1FdbBk6Os xXwBpsoFu8N/WrkVgrl6xtUjaQ+mW03CiRg3nr2deUD1MvBjzIACwi7j7ig== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvy6k2x10-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 07 Aug 2026 07:54:50 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c07f25de2so24996661cf.3 for ; Fri, 07 Aug 2026 00:54:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786089289; x=1786694089; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9Lekz5JM4+AI+uj3wmBnfvYLGC2vYDIjBkJOBq9+I50=; b=fqP9stSJWoxPMvaGdY2vObKN0esqkox5B2yYmRUF5mpw5JIXyvB2akwqf+eGECqOd5 P9aseMFIZVyhEZ6MFOXjNEDXA6Ae2XhSLUl40oPUryikZH4QpbJCLyWRAsmhjP9whHnz 6QhHEOVJYM0CMqVR8QI+nqgVdoasIxs6g5w0ayXJQkrIqA/M12os930XUQZamINgUboB kdRDpe3Qo1is/eBpIoFum4x4MvfTLLyCAAKl04AIlFZp3b2L0i/qITlPxjZB0j4mqG3n DPGFMFpyZkBdBlsy6qRCJ9i0Jp0fWTG40MphifiQ2fHHt66twX9+c13HaU2GCk47GIbF hD1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786089289; x=1786694089; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=9Lekz5JM4+AI+uj3wmBnfvYLGC2vYDIjBkJOBq9+I50=; b=SekQwhYgDUQMy665E5I+y1BXSgLgmCDixogDWL445cWModylHwQQnANjlV9arrEjww OVzypL9DaU15L0AsaeGYwEf6UAkRIEyk2TK1gwbuJjhuVuDOZAP7en7hhyeuvkey0VK/ MDVLlXtLPRbRIMygVS4yC+AtNhNE43qMe48YaHJOw0ftvpSE0HVOnis8URzIlUR/V5hG eD2Q7J507hZkZXuiTm8AbeFnS3ndmc0WLMuRy34wrhuep6GWUJn9OpmQJvBQXJwCO11/ AMmkJ1axmKf90nrmfT03HV9F08vwYmGo3e87L60vVbKxUIT4QNq7xY8NWLPociRSxJAW iG1w== X-Forwarded-Encrypted: i=1; AHgh+Rp2i2ngAW4D6yBhPa2YjKUtYCXDccksjYjVndgMB90YyUIiqJBf9FQhGbnbOYkeTnT6sXBDvTZbbKGbyJA=@vger.kernel.org X-Gm-Message-State: AOJu0YwSbhMQYeP0USF7UltYalNZ8PvgPp5L+wtldDubeTKeBREEmQCr CqPEq1jFZ1q/0csz3F1h8Wsoj6yMH7XIAt8VVueCs/7fCmnC2oP7u1DLcTiCX8sKdlfJUaPQcMX 2Cyz9ivKg7zt3xapHV26u+0/oVBfOleeccUlsPiX6PNtskNr07WoiHag25CYXOsAKRn0= X-Gm-Gg: AR+sD13pFWLBUphq4WeHlTTm/MpO9tLCLKgqbJmOJ5jzcUoJI2DNxtbxw/PiDEICUQT ny3MWI+iHB+GpeRwz4GmLFvDOY6qEOso9Gfs/gJsR0nOL/FOpM7b0X3gehCyBH+C6+HIz8nS455 kgEKWvkBdoWxhItxe1LHtykBpqScMA6PORI2NKXhYZOvn2iETPSE03UcmrcrXE4J9dYRLktoD+G clsNfMvtb9nRBqqZHva+ceI5GgH5iaBQpD7woP+jDOJvrp3n3uPBPEfSajzeiLfbb6n0mVOznwB wzdRnPI7tMyCpP3IQ+Ziuc9vAkBIa/hVv9YSS9Hb8o8RHKFMoQ1HplO7bHfqG7zsI7WiCPCSETR WXI6xd1XIXlq2H4vM47pMXJvAopXvrXg= X-Received: by 2002:ac8:5cc7:0:b0:51c:709:b81c with SMTP id d75a77b69052e-52ce617568bmr228875791cf.32.1786089289501; Fri, 07 Aug 2026 00:54:49 -0700 (PDT) X-Received: by 2002:ac8:5cc7:0:b0:51c:709:b81c with SMTP id d75a77b69052e-52ce617568bmr228875611cf.32.1786089289074; Fri, 07 Aug 2026 00:54:49 -0700 (PDT) Received: from QCOM-WFsSr66Fqw.qualcomm.com ([212.136.9.4]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c2080cfddbbsm20020666b.61.2026.08.07.00.54.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 00:54:48 -0700 (PDT) From: Igor Skalkin To: Greg Kroah-Hartman Cc: Alan Stern , Felipe Balbi , Tatyana Brokhman , Kees Cook , Sebastian Andrzej Siewior , Sebastian Urban , Seungjin Bae , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Trilok Soni , Igor Skalkin Subject: [PATCH 3/4] usb: gadget: dummy_hcd: fix SG transfer handling across chunks Date: Fri, 7 Aug 2026 09:54:37 +0200 Message-ID: <20260807075438.5566-4-igor.skalkin@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> References: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=RpX16imK c=1 sm=1 tr=0 ts=6a758f4a cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=dNlqnMcrdpbb+gQrTujlOQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=Nijt3JpmL5Gph_9as-EA:9 a=+jEqtf1s3R9VXZ0wqowq2kgwd+I=:19 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: _uFryyDeky961gwfFwaOB_yGgma_jDbB X-Proofpoint-GUID: _uFryyDeky961gwfFwaOB_yGgma_jDbB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfXyStP0Gbc24aJ dGc+49FoZ6sK1cNfOREv+sStUOieW5l2jdBLRTMCWZ790WcQDVm29JOJ5ts4cupHLYJIWjcynnd 6luV7DgKYr+vlnGphbxfN8pq+ZSHkAsmIuGuK4UWceSrvcLY5lAsbByhtiMS3BTBa5a5+BgGsvm V0Orh7RSoPkpMQY6mCEAJSl8YIfAY2JrJT+cKoLkrv9WDNvWlHXXh79HnQvFq44Epm5EWQMjJ8/ WrQErlFT+TfvcIArom7Hzo9EJ7lHqvqaZR619ppp8biN7pkT3ZddagyoFPy2/nkyKb505mz6OJW w8mm7avtiO6aJi8d1K4TlHS7CL+6XyqefxhQcQvJUOwO5TGYgCV/c+Rk/6HiT2ReK9aiXtXPpi7 16TBsknSaDm9E+uk7F56wxo5FtJRmJqCO5yOZhpiHqq1ATVfdQEk1zO3SObuCqxBfZMp0WcS7ar VTpEDPJXvAAWT0qTRDQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfX2VqlBh5qwAz3 QI9x/Ok6HT1L2/a8UfcyuMat+Oaj7+bxn2Km2jrIaLSoh6Ytp71pJG8htUebse9DiHvY6lsKz/i bIq4tSP2h0rJif6fuHQXFUY+rrqrKTU= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-07_01,2026-08-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 clxscore=1015 impostorscore=0 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608070057 Content-Type: text/plain; charset="utf-8" dummy_perform_transfer() may be called multiple times for the same URB as the transfer is progressed in chunks. The previous sg_miter-based implementation kept iterator state in struct urbp between calls; on resumed chunks sg_miter_next() would advance past the already-consumed segment, causing -EINVAL and broken transfers. Replace the stateful iterator with sg_miter_skip() to seek to the correct SG position (urb->actual_length bytes in) on every call, followed by a fresh manual walk for the requested chunk length. This makes each call self-contained and correct regardless of how many partial transfers have already occurred. Return -EINVAL if the total copied length does not match the requested length (e.g. SG list exhausted prematurely). Fixes: 14fce33a960a ("usb: gadget: dummy_hcd: add sg support") Assisted-by: OpenCode:claude-sonnet-5 Signed-off-by: Igor Skalkin --- drivers/usb/gadget/udc/dummy_hcd.c | 59 +++++++++++------------------- 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/du= mmy_hcd.c index 5384806347ab..7597c9e9fa66 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -229,8 +229,6 @@ static const struct { struct urbp { struct urb *urb; struct list_head urbp_list; - struct sg_mapping_iter miter; - u32 miter_started; }; =20 =20 @@ -1278,7 +1276,6 @@ static int dummy_urb_enqueue( if (!urbp) return -ENOMEM; urbp->urb =3D urb; - urbp->miter_started =3D 0; =20 dum_hcd =3D hcd_to_dummy_hcd(hcd); spin_lock_irqsave(&dum_hcd->dum->lock, flags); @@ -1345,12 +1342,11 @@ static int dummy_perform_transfer(struct urb *urb, = struct dummy_request *req, u32 len) { void *ubuf, *rbuf; - struct urbp *urbp =3D urb->hcpriv; int to_host; - struct sg_mapping_iter *miter =3D &urbp->miter; u32 trans =3D 0; - u32 this_sg; - bool next_sg; + u32 req_len =3D len; + struct sg_mapping_iter miter; + u32 flags =3D SG_MITER_ATOMIC; =20 to_host =3D usb_urb_dir_in(urb); rbuf =3D req->req.buf + req->req.actual; @@ -1364,46 +1360,35 @@ static int dummy_perform_transfer(struct urb *urb, = struct dummy_request *req, return len; } =20 - if (!urbp->miter_started) { - u32 flags =3D SG_MITER_ATOMIC; + if (to_host) + flags |=3D SG_MITER_TO_SG; + else + flags |=3D SG_MITER_FROM_SG; =20 - if (to_host) - flags |=3D SG_MITER_TO_SG; - else - flags |=3D SG_MITER_FROM_SG; + sg_miter_start(&miter, urb->sg, urb->num_sgs, flags); =20 - sg_miter_start(miter, urb->sg, urb->num_sgs, flags); - urbp->miter_started =3D 1; - } - next_sg =3D sg_miter_next(miter); - if (next_sg =3D=3D false) { - WARN_ON_ONCE(1); + if (!sg_miter_skip(&miter, urb->actual_length)) { + sg_miter_stop(&miter); return -EINVAL; } - do { - ubuf =3D miter->addr; - this_sg =3D min_t(u32, len, miter->length); - miter->consumed =3D this_sg; - trans +=3D this_sg; + + while (len && sg_miter_next(&miter)) { + u32 chunk =3D min_t(u32, len, miter.length); =20 if (to_host) - memcpy(ubuf, rbuf, this_sg); + memcpy(miter.addr, rbuf + trans, chunk); else - memcpy(rbuf, ubuf, this_sg); - len -=3D this_sg; + memcpy(rbuf + trans, miter.addr, chunk); + miter.consumed =3D chunk; + trans +=3D chunk; + len -=3D chunk; + } =20 - if (!len) - break; - next_sg =3D sg_miter_next(miter); - if (next_sg =3D=3D false) { - WARN_ON_ONCE(1); - return -EINVAL; - } + sg_miter_stop(&miter); =20 - rbuf +=3D this_sg; - } while (1); + if (unlikely(trans !=3D req_len)) + return -EINVAL; =20 - sg_miter_stop(miter); return trans; } =20 --=20 2.49.0 From nobody Tue Sep 29 13:19:53 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B6E3741E6D9 for ; Fri, 7 Aug 2026 07:54:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089298; cv=none; b=EDoTmLzu4PkwGZCMFGVpf8HNRNleUIhrZ3mPNFrtwQfS9fnbT9MtvoB9r/BExbUUmA2NlaZNDj+V9ePoSH1HC+yPEyXN6TQkKcAONOfXNZGd7FKQcvB7lwkHOT80+JVGpY67qULwFA1tATBsLmA6G9HItVJNyMd2dd920HKeVj0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786089298; c=relaxed/simple; bh=VPNozWz2W2hIGOxxxRdF+a8z5jnoAg8HG4oYPzXEthY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LOpJ4TasEPYgB/xXn+uW4FXyAkeCsLyxzu/JzEo8bbEUnnsTmZTOR2+o3jSB0F1Nplscv+BDYAjXG7VBzDOiJ7uprRUp/Q0g2FitpMa36YFVQq63ALymadaoGxM2NjnCv7LeELTTu1OflUkIrGSE6oBG1WSryMhP+2HqdFIxs2g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=BHFVXDHI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AQ2EJe3g; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="BHFVXDHI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AQ2EJe3g" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6770GpcD3251955 for ; Fri, 7 Aug 2026 07:54:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=a+AHdnD21uX JNgpoGS6x8dFnVCJZZxlxku8wGjceFEA=; b=BHFVXDHID3RmWE8EWoKhMglAupn 9NJKr+9pMidv+K3kthvZIS/cWWmQBgQZbF+xr2ViMhtEoFoi9A1YGa5mEF95Ya1u IcSia3VAmV4YAJHGtQ5BGxpUalVArcUEyAkA0szeRavdUUQuB2HRytHVLI8/tC/6 RtyOSPVVCruZbYlFjmsvUJsj0RmietVO3YD10Zwv4TeLpP+j6ivPATDVTyOXA8XG EMt25b9dPGJIwTwYxHR5+MDiIxElLsTFj/Q4v6ZufofXv1vqvUhIQKnZ8SK5Awix gPDwBr0DM2bIl80uNST00i1jEpwU+w6GBtrO1bPyg8s4lwryF7jmUVeHeWQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvy6k2x18-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 07 Aug 2026 07:54:52 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-92ac0a54110so334507885a.2 for ; Fri, 07 Aug 2026 00:54:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786089291; x=1786694091; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=a+AHdnD21uXJNgpoGS6x8dFnVCJZZxlxku8wGjceFEA=; b=AQ2EJe3gbWkksyJpKeEa44obNo7voTeerCDMJTwuk56ek6dlVu9kGa1SD+I9g58Ss1 K+P+39I/nDyNZVRifCvu7YY+hWjt0Xt3nEgiEtQh0vuechVR1fCQLM3VPCOJCZg0r8Kq VQqQGBHSNOP7ojqKOBksrsyXqeCbZkNCKgSt7ygvxkDCWAtByVRqF+w0Xpnv2bVguWXA qm064u/6cwlEYhPnnZVCtIl7Ndg2yRNkRfNld3mmlBNKxXJ9jJHQMARykWwRCb36Tu03 mc8zZo+AHXR+GvkP0fLv1qXyF6tE2qdU7Accgqgqr/09IkUHUZ6b4Asz7mBZUr01wHj2 opsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786089291; x=1786694091; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=a+AHdnD21uXJNgpoGS6x8dFnVCJZZxlxku8wGjceFEA=; b=cJnFQHOHQT6UDZ3UfoN2Vm641b7mSlmSzP1UR0GibuxG9dYm3CFQSxufK47EJBPhtB dsNAJ8Ugk+tW92cf1YI46nlu6S5TyPvUF8gUAjXGtKhVlXudQFv0I2oxW0UJgKa3LjA9 o0UFkkqFo05BWzBAjnRMsbzsxiVzgaRkW+BRrSaCyrkeMFpO04hAP5n6LRdOF1MS9yL+ iy0Gs86mmhGOutFqyTRPV/kswZ7KejmKzGe5WMCYbthlqbadVyozj3SSaTobiIigcFcR jfQMOa17gFgWsJT/jftc0yxnsKiy4kkJOP5ouOpMcQKBk7yTbqcPEM9Nff3yiRbM/qQg HXkw== X-Forwarded-Encrypted: i=1; AHgh+RoeXenjjYC0l1AXDVtFk5Yy02iaEq5UVHqtQmRL4odQ1ELhy65sjVyVyJ36Bkw/JhfbOrzptCxn8k9xwtc=@vger.kernel.org X-Gm-Message-State: AOJu0YyywumgLPHwkuNDaZyFtRODWJ1PbQpzoANoDg4vx25MIz2lUxP+ baiWfZx3UBOcYmMoeRP6OVNNoHcT/Ph/LURwVJbPUpUOct7hpyv3AaZcv/esdo21SYc6dEVAz5y MnPBSdM9hXHQteycc6btdmiAf3PuARbzarfk2WAZgT76d5XprFwvvDRBE+BjIzSFoEIA= X-Gm-Gg: AR+sD13mLsnRlYB++0WC7EUCyC9nNk2irOqEisOBsBEIMzxn/SY3+AbQ8Tg+qdvGHcK proToZ8J0YorgTOLZA/hIrUKune4riaiJccp7I15XZFHtn9YqzkCKrrWTwVmfY1iCvOHO4mX0/N 3Dvzc+XBnIylJ1UVVktUvJKCfKaWA1A6twRf8SzWGHkYsiXGD0+P74DvlJe5M+bp0GMnTBG10Y0 lI+ohHjNruH/bq4uDsuQGQJPYPipDW9a0AYDUKCCk6axREGkVIh8Hx8xZv2UM4U0YzcRhjXatHC 9b84x2srKsBkxMKqIbdX4A/mSZtHB/XUa7V/d+OxNVw/qjG5Woi/ifDcaqs24uJpIHTz/4aDnNu c0602s3pi8KJhBokm9FVQ1gm6meZ9xDE= X-Received: by 2002:a05:622a:15cb:b0:51c:8432:1753 with SMTP id d75a77b69052e-52ce6159e3fmr199727051cf.30.1786089291641; Fri, 07 Aug 2026 00:54:51 -0700 (PDT) X-Received: by 2002:a05:622a:15cb:b0:51c:8432:1753 with SMTP id d75a77b69052e-52ce6159e3fmr199726901cf.30.1786089291278; Fri, 07 Aug 2026 00:54:51 -0700 (PDT) Received: from QCOM-WFsSr66Fqw.qualcomm.com ([212.136.9.4]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c2080cfddbbsm20020666b.61.2026.08.07.00.54.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 00:54:49 -0700 (PDT) From: Igor Skalkin To: Greg Kroah-Hartman Cc: Alan Stern , Felipe Balbi , Tatyana Brokhman , Kees Cook , Sebastian Andrzej Siewior , Sebastian Urban , Seungjin Bae , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Trilok Soni , Igor Skalkin Subject: [PATCH 4/4] usb: gadget: dummy_hcd: set no_sg_constraint on the host controller Date: Fri, 7 Aug 2026 09:54:38 +0200 Message-ID: <20260807075438.5566-5-igor.skalkin@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> References: <20260807075438.5566-1-igor.skalkin@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=RpX16imK c=1 sm=1 tr=0 ts=6a758f4c cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=dNlqnMcrdpbb+gQrTujlOQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=WZ_pTnkcMvjAhArtRZoA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: 68kJ1g6_VRF7S9hokMJ0eQYBtv8E9CFg X-Proofpoint-GUID: 68kJ1g6_VRF7S9hokMJ0eQYBtv8E9CFg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfX4kW9pg0lgg4d 5IzcmJUt1BaY5S2oktsmcS5RlZT1eSOYCEks27zUAF6B5jtYpRsGYxyuMGdH30SqWBOoVS/yY2t L5Qh8ft7Bpr0wJPbumAl4N9L9ZoiCPHPJHzjSrDDRnXbaK5lfjeZ0kvjBc0sTlDDfEBkgg9yeDQ RxBGBvd8vwW39hRhY2MA+1OsxYyW8sonYf9aPnq33kGGIgE2geacCBz2pa+15HbQs5BOO/o3VPv 7DzZFAV5fRyQpbDRlAw8RabE/GcUTDL6jrdJ+TESJe4mzM43hSRRaU6B0wNEvd4bKAfWsfaNXSQ e0VRUyeJ1Af4y3j3OeiB6b6Yv+VffrIhfCJA5XENoQtebd1WqXXdEYNo4q+78SNQGrNW5qLDYtC qR6IzuHgWOUXEo6HuFLQDmUpvB3Vi/DZD2vcwQeZ0/k2/ZGkgmJe6mgbD79OXY+Dft2zq/nxPky fFhI3bwdYcwNcHd8lng== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA3MDA1NyBTYWx0ZWRfXwPZG5IAPle5M 4UJi469cWFfgfJ4slw97vpxfgTQYita6OjEOmzEf/X+3Hegwejxa3NkMRAPMEl/58Sbsd8q+KAY UTaW1PwpifiSRXW6Cm4CG02Xe3qHCV8= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-07_01,2026-08-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 clxscore=1015 impostorscore=0 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608070057 Content-Type: text/plain; charset="utf-8" dummy_hcd copies data in software and has no hardware DMA alignment requirement. Set no_sg_constraint =3D 1 so the USB core does not reject SG URBs whose non-final segments are not a multiple of the endpoint maxpacket size. For SuperSpeed bulk endpoints maxpacket is 1024 bytes; usbtest generates SG lists with varying segment sizes (e.g. 512 bytes) that are valid transfers but not maxpacket-aligned, causing usb_submit_urb to return -EINVAL before the URB reaches the host controller. Assisted-by: OpenCode:claude-sonnet-5 Signed-off-by: Igor Skalkin --- drivers/usb/gadget/udc/dummy_hcd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/du= mmy_hcd.c index 7597c9e9fa66..2cfb1d035b34 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -2550,6 +2550,7 @@ static int dummy_setup(struct usb_hcd *hcd) =20 dum =3D *((void **)dev_get_platdata(hcd->self.controller)); hcd->self.sg_tablesize =3D ~0; + hcd->self.no_sg_constraint =3D 1; if (usb_hcd_is_primary_hcd(hcd)) { dum->hs_hcd =3D hcd_to_dummy_hcd(hcd); dum->hs_hcd->dum =3D dum; --=20 2.49.0