From nobody Sun Feb 8 04:34:47 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011003.outbound.protection.outlook.com [40.107.130.3]) (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 AB62035FF66; Thu, 8 Jan 2026 07:41:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858118; cv=fail; b=iDXXKmnjblRJoZdxx+p20h1hL/vXaqPHTo8qzMRJH+y9mP05suJo8sV1AzVBZ42mn5js4aS/lIllVS1+9+YMynfsqnrZ/ik+lzCtv/fUioB4NFyCwuPUhIGn5+pdwkyrpPDgR9AsGqeZMjjonhu/fVlGzqqq3xE/umw/yE7ZZuM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858118; c=relaxed/simple; bh=4HrS/OjZKZWsnLP/VuBdtXAsjAE+0iI6ilQicJYn4Fs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=LfAZjaUY3CsaBkW9KEXYuW51iHL6g3B7uiZ81NUUYN0sVznA3/CGR2QyommaN2RjnJ0hNsMUYsVAVt6dxxcfTLl+TiJXUTNDXc7sGN4xpEq7uhMEx1Me+X51FLU8Ox0BkZ0r00XIG1eZ1OuWb0Dub2caxMSJ61+aMToXMvuioLg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=FIXd5Nse; arc=fail smtp.client-ip=40.107.130.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="FIXd5Nse" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mA1EETA6dB6HoVFgGNJ/Sex4yr115LwdteYUOkvbrt/aI0hlMiyIds6x2kiWzZ7B1OYq0iCQcVhcfZZz6j3z0jXoFfqhbHe85Xz+d7/KGDOz0YS/u8b2Q+umLJwplkN5zzhX4yd0YETJx+1iwYWOHCtj0p+QBADzNzxCM0IxfD2Ku91xOLF1JUX6KZRdyT2RNXaOR6io7sr1vYtRoquZofOTFK7ptvy08ynoKiUlybnzySfaoMNSRu8XaE0OesXhDVW1CWh7d34zcIOIwnou7npDdhIrFYcH0VDR7avfa/AMqCpeypuDp0XOD/KuZ6ldCenMJTGyUBZnt3l9iR6gYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/xrZ6kkJJ9nQPlyVMgxWzaBrOMhZX5IHXf1B6eYjLNo=; b=M/F8DeBX8OBjgzYCpgHkcd292kiAzvUcpoa107slolj1zZ8s8bdxkf9s5cMd+5S/e9CbFykH773cAk/ZoHjBAZ6ObRb9jRU7pLqCM34IIhf2jcphzTy5COfz06PmH8BeC6fOMsGDPdAOrEhZQkKvoJg5KTh6WEczKv5TSL1ZnuhLA1pt+d5HC3W6MM1Nq/Pb066oA9WazFzYgEAECB32YpHSMcdCc7uifMpPf0q23u0WE9LWuHdjxx1wrfzk1oTumrx8+OdySmp7YiQR85/H+LAX+pPBmiyYzvUdMYq7oGZZGDD4y8ExiN2Ajifs+Z8h8/T3blonr+ys5eSTKNfI/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/xrZ6kkJJ9nQPlyVMgxWzaBrOMhZX5IHXf1B6eYjLNo=; b=FIXd5NseMKygiv76tRAsx+UrydHew5B9aRWx7Om7UekaChodC7vtMXDrgJpQLvFEBT1+m/QfdVm73rO+YwCMgo6jdZ8st9p4w5DyKoa4xCFF7OWBUgxg6qdfjnlua2K8qMVIFdlaJ7CpOENOm5y3zbMngG1XDvMv1c/mslmJqkOU+XGs9Km3HV8wiQoJLglh4VExlvFa/7T230ey5MHFyNLPo++kDDCimaco2ogXMxoDH6/NABjo99r6Ksh0FOKeZeXKFmeTdP+wU0oLGtTE3E6TuPxBUG57bzOMIVCw6a5b8Qdj8ZBlC2jNl4bOZOxfQZ044ZptRgXeiCz8kI/zQg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) by VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.3; Thu, 8 Jan 2026 07:41:48 +0000 Received: from DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce]) by DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce%5]) with mapi id 15.20.9478.004; Thu, 8 Jan 2026 07:41:48 +0000 From: Xu Yang Date: Thu, 08 Jan 2026 15:43:02 +0800 Subject: [PATCH 1/4] usb: gadget: uvc: fix req_payload_size calculation Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260108-uvc-gadget-fix-patch-v1-1-8b571e5033cc@nxp.com> References: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> In-Reply-To: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> To: Greg Kroah-Hartman , Michael Grzeschik Cc: jun.li@nxp.com, imx@lists.linux.dev, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Xu Yang , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767858202; l=4520; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=4HrS/OjZKZWsnLP/VuBdtXAsjAE+0iI6ilQicJYn4Fs=; b=a4p2Z15ghZsszKphDTc1HwActGZAP3Lp38i7my+1gAhYTqVNFllvTXwe2Og7BaGp7HWSC5i0y HkiWb61kwbUAElsiB/d33Dbz8p6B3yuH8roUS28wxQuj6vXenoaws/a X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SG2PR06CA0201.apcprd06.prod.outlook.com (2603:1096:4:1::33) To DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8822:EE_|VI1PR04MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: 44aea686-ecd2-4546-038d-08de4e89616c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YWV1ZE9jUjN5S3NMY1FEUndUV2dTbUtsYk9FcHBGc1dtMzJHTElGWG9jSWZy?= =?utf-8?B?S0hwdy9uRmZLQ1pDTlBvT3R4QTBhc3dBZFQrakhEUkg3Z294ZWhwdVA4QlRT?= =?utf-8?B?RUxLalpMQUFiYS9wbTl2RktpbzZRUHViaDh1TlJyYlpyVWMySUZYOEdONi93?= =?utf-8?B?R05NR3BER2xCTTc1cVR3WWxJSWI5UlRUQ3J3SVBRcE1zUWNsVHhRbjl3VmpZ?= =?utf-8?B?L0JGL2U5SHI2TXEwSXBZcC9oeElCR2xXdC9qUHAxanQ5eXJlR2NvVzhhczVx?= =?utf-8?B?SXU1b2xlZ2pRaXpjekZRaUxvRFlSeDA4TjdXVU8wUHNkU0MyOGJKbFFtU0hr?= =?utf-8?B?YWtVT0JRSXVnSWMvMzlvRThxVll6ZWkxUnVteHdHYzVUWUtqSkh5K1Y0bURE?= =?utf-8?B?eVBXV1lxZk5xSGgyZ05GMEMzVDR1UXpJdUhYTjlEV3FhY3hIL0JNcHd5MCtN?= =?utf-8?B?SWhTcFkvcm9EMDB3N25GY0kyTzBObjhOdzRVS0pSSFIzaDgvN0p6SHJUUWpY?= =?utf-8?B?dllVNDI1ZWU0Qm14MjJyMmMvazJKZWM1RHJpbndHbnhBVkovd3FBUGswQlIv?= =?utf-8?B?Ri8rVDZvM2E2NSsydVMrSDhtemZXUjhNZmdkbXU4SGJlREpmUzhrTzU5L3B2?= =?utf-8?B?cjVrYnY3U3ZWb2FOeHYwZStnNytmMEd6aWk4R1lQSDlzZTlpSUdMSTk5N29h?= =?utf-8?B?VEhlc0wxRVZicEx4SVpkMm4wcGZDV3dISERLYVR6VlR3ekR5Ry9BL3N5d25B?= =?utf-8?B?YlBWUVd4UVZzM2diMkh1aURXTEhpRU1aYUI4aGg0N2VaY0N3Z1VqclhMSG16?= =?utf-8?B?czVDMm92eE45SytqcXVaS3dBOWRNR2RJQVFYd04xTERPdFhhMEppSkU5ZHda?= =?utf-8?B?R2JjMGFuZlVob0tpTU1OeFA4WDhIcE9nWHQ4SEE1ck9iNG9tTTJ4V3B6WkQv?= =?utf-8?B?bEx2Qno3NCtpYTJYdDMxdytMbEN2bGJkM09DQkJTREVYbG10NjFsMnczODFa?= =?utf-8?B?d0x5Zk1ZWDFpbjdpdUlNL1U2T2JQUlpraEtDbWhDVGxQSUMrdWg1Y3BPY3RI?= =?utf-8?B?UGZiN1NnMWVBaW9HRCtQSHg1blFMTDlYZVRPZVZmTnFCYnpxRWM3R09ZTUtB?= =?utf-8?B?QTZIN2czalJjUjZ1WUJnWWduM0tnT2Nrb2wveW83aDFhRWNhWkVDbGV0RzVH?= =?utf-8?B?c3lCbnEvL3hMQ25PNmVKZ0JYald6NDlXUmtlWEhGa3lsWVJ3U2ZMRjI1YURQ?= =?utf-8?B?N0U4TEVCNGt6OWdoWVlzVWEzc2llTGFmN3Y2RlZOc1hhMWUxaU5oUksxNHlV?= =?utf-8?B?QmxYSFYvenBhVjRnamVTb29iQk5tdlIvMy9oUHUzUU80bU11WGVEL1llZTBE?= =?utf-8?B?MGl6N1FrekZGZVNrNkpSbGVDc2lrR2VGVENiVEI4SHBYelBMbnlnRXZRdk1s?= =?utf-8?B?OXRSc1FkemR0Rm9uZFhIdDdUM0k4UXE4bXhCamoxejUxd3dvbzJkQ1FLQmhV?= =?utf-8?B?cjZkNnJ3dDJjNXpLN0pkM1MwbmYxTFdzT0pxQ0h2VUsvL0tDaW50elEwcVV3?= =?utf-8?B?ZnJabHQzOXFyaTJCSit3YlpubzZ0N1c3ZUhTeFUwRmJzaFdqWVZBZjQ0N0VR?= =?utf-8?B?TkNUeURHWWhaMjBmZ0JpcjRObkJ3V01XZHlIK2xRSm9yUFJRR0pvUDYxQ29Y?= =?utf-8?B?aTJ0TE41RENNb05iWHJGSm9WSFhGdWtHd1YxMWJWMEhYamNBSzlIQzZGNTRO?= =?utf-8?B?MmpzWWxZam1NYTEyR3hNZnlYZEh4KzM3S2p0YTFSZ2grcXZMRUVCeXFoUk81?= =?utf-8?B?V3lYRUtVT1N3SVVtV2c5M20xKzBySTdaT0p0bCtkSitrMjJrVk5qY1BwNnFl?= =?utf-8?B?WG9YenhiTWNDYjl0U1FsNmFzKzUweGN0MlBYK3B6a2lYcUpvS1VwZEJEY0pm?= =?utf-8?B?U1VEeDQ1R0huUGM2SFl1b2JPRWY2cHZ2cWlXUThSNVN5RmVEaTJBdGtmNlA1?= =?utf-8?B?eVlRQTlua3o4cCtmQlUvZEEyR3hEWTk5Wnh0UXN3RzN1VlhQNXpJWEpIVERN?= =?utf-8?Q?WpKAx3?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8822.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ejdVWDhHak1EazduTHRPK1dxYktLVmEzZElST1BjSFVKWU1MM0orQmhxaVVD?= =?utf-8?B?WUpxYWhDZnQza29CZC85bllhdlRPZEEwcStwVVpoOG5MVDJSWmYxbWVabUtn?= =?utf-8?B?Mk9idFhYTXFKcWhNNWRNekNrN2pkaCtSNjZOSXNycC9xb2hTY2hQWUxMNHpy?= =?utf-8?B?N3owREtNK2djRTBGcE0vR0hPRmxNTGJ4bmhGWmQ2dzBnb0pzTC9IQXJ1MEtk?= =?utf-8?B?eEdSRURWUDBJRGNKNERsRFJOQmxTMnc2TUczYUEwcW9XVDA5U0VyTFdZL2Zp?= =?utf-8?B?RVVFcE5ZMUVQUnlHR0o3LzFmdjB4dGV2ZmtOSFFUZ1VaWkg0VE9pMkVybG5i?= =?utf-8?B?UnNDcTBKVVpoSnFGendFb2syU1lSSG1FYUJvcDRObUR2M2hoQkpvdzhsZmVq?= =?utf-8?B?TU84NFFqMjlaMTJ2WWpQL1hYNGdEOXVZOC9VVThCTCsxSWJpYXhUTndydWNx?= =?utf-8?B?dWhGS2VEMlovczJ6QWhIUEhzdDl4bW4vdWQ5L05zTW9HMXBibFRNak5WUWJ4?= =?utf-8?B?QkY2K1dMMWVOYTg3RkswV01LOEoxbmtYVDlyNUhmbDFmSk95Sm1NeFhjR2lQ?= =?utf-8?B?K2lpaHhOSUllcnlOUmttYmszU3BuTk9XSjZYUW9aVlZJeHRkRVBJNU5pUkth?= =?utf-8?B?L2FYc1BmcEI4bXUyT0NWVWtWWHlOVjBiL2srdW1WQndZb3pQaU1FVFJpeExI?= =?utf-8?B?V3Z1elAwUUZnU1M2Y1lnVzRtaEw5aUtaRkZ0TjhQMSs2bUlBR25sa3FNQ0Vz?= =?utf-8?B?L0F3MzBsTlF3YjNjM29Lb0p6T3hOLzNEdzl3RStzK0VmWkY5TFhRbWtxUEN4?= =?utf-8?B?UFlla2VRT1NqZjBHSlJhRFMrb3llRzB2dy9LaUVEeEk4UjByaEJhenNyNG9O?= =?utf-8?B?SmxKZ2o3N2x3UkIySG5yYkJBdVpqWFVvVlVTK0FiejcvendTLzMyTkJvT2tD?= =?utf-8?B?RXAwZWl0WUE2L1BUa1JtVHc0SmFObU01cHV0UTQvbVhDVFdFcmF1clgxU0tY?= =?utf-8?B?WUhrOW9OdUU3TVQ3aVkvTld4b2I4MDNYZTdESmhTRkNkc2x6TWpuL29RVjVa?= =?utf-8?B?bERzWVJwSzRDTzF6MGI4dG9UY0E0NTZzcU4yRDkraCtTTktubWhNMGhPVU0v?= =?utf-8?B?aUZxTG4rMkZhZ28vcWhoSUxuVG5ZQm1SMEVRS2pOSmsxbXZmVitONnhsdW02?= =?utf-8?B?eTkvdXJtS2UvU0w4d1BBZFFaekhFMDhlZ1RYWi9JOUFEaWpXV2hTVktvZDFk?= =?utf-8?B?Ym13Rzd2a0Z1aG1jUksyWXRhL3RTR3dVQUNiY2g0QTJPNDM0dDBuaTh5dFNh?= =?utf-8?B?Rm5BWHJxN1hjWVA1WG9IaWQ1aE5FSU15UnM5dTN2bzlzYlUwSlh5UVdrN0k4?= =?utf-8?B?bEhQdlBrMUR6NC9ycWV2NytOSUxESC9NNVdLK0FhT0x2UU1INGtGZnltSjVW?= =?utf-8?B?eTN2M1VKd3FCdFdkMndhNkpaRkVJeEFzUnJ1STBaNEtycmNRc0hWa2NKejEx?= =?utf-8?B?RnpjdkZPZkhjOGttSmlVVzM2RnN3WHFKZGFaajVpWjdqSVlLK2lOeFJaYXlZ?= =?utf-8?B?UGdsWm50dmUvaFZsRDFQZE1hcU5XazFUTnQyOC9UcEJOMmIvK1VIRVVZaTNW?= =?utf-8?B?VktJSURZRmJUMmZsZXlZUWwzRGVEdVVDOWdnaWVXSEY5a0JZaEkwdGpyK0xK?= =?utf-8?B?bkM3ZWh0OTVGa2syQjlDUmEwYzhkQXlJTVdkc0lRdnRaY0hVNU1yR2pKTnVa?= =?utf-8?B?a2ZYTkFDVWlrQkphcDZDUnZMY0ZOUndyVnVVZWNHZjllcC9OZElmdkwva0Ji?= =?utf-8?B?cHJDYllvZE1VZHZ4VjdsaVdBUy9Td1JRZjdJQkppVkxQdExHSS8vQWF6STl3?= =?utf-8?B?MjJFd1l4a0JyVFZuK3dLdlRNNHVOMy9qRENxbFovQjNZY3VOelpzajltQTNl?= =?utf-8?B?VTY4a3VGTEc2Q3pGZGdVNXZKUEJFQ3BNelpzQy9Makk4b0txZEg5YWlBV25l?= =?utf-8?B?QWw1azZvR1FzQ0NkaVQ3ZFB2WUlnREIwTzZUL1pOQlU3cUg1YnltZ3NTQmxu?= =?utf-8?B?b0xTdE5XMldiM0xPN293MmVKZFNJRW9hSVptdWFOVlhxWis0UFZreDBqVWI3?= =?utf-8?B?TkY5SVI5emRUK2JqVEpLMGxoMWNxSVc1cldQTjh0R3V3SnZIcnUyMk05V1hZ?= =?utf-8?B?TUkrWUplSzlBQ3BlK2s5Vkt0dGdUcFdsRnV6RlBWRG5hR1VrdHFXWWtBT1l1?= =?utf-8?B?SGtwdm5mbjNzeUZYRkxhUVpHZHdkbVNQQ2xVc3pzcWhDdUtyeTVuQkhybE95?= =?utf-8?B?dHJlcC9qYlhqY2pSSld1UVp3N3Jpc0Z4ZS9BNjJpcXRtZDUxRFB3QT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44aea686-ecd2-4546-038d-08de4e89616c X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8822.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2026 07:41:48.6296 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uNd9b158mKnehZHBSU+8NxAAJJdD8B/PwByNyKqvc5ZgcxhAn2jtShewxHb5NIlriTMrX+8ijvM27I3KW7sp2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197 Current req_payload_size calculation has 2 issue: (1) When the first time calculate req_payload_size for all the buffers, reqs_per_frame =3D 0 will be the divisor of DIV_ROUND_UP(). So the result is undefined. This happens because VIDIOC_STREAMON is always executed after VIDIOC_QBUF. So video->reqs_per_frame will be 0 until VIDIOC_STREAMON is run. (2) The buf->req_payload_size may be bigger than max_req_size. Take YUYV pixel format as example: If bInterval =3D 1, video->interval =3D 666666, high-speed: video->reqs_per_frame =3D 666666 / 1250 =3D 534 720p: buf->req_payload_size =3D 1843200 / 534 =3D 3452 1080p: buf->req_payload_size =3D 4147200 / 534 =3D 7766 Based on such req_payload_size, the controller can't run normally. To fix above issue, assign max_req_size to buf->req_payload_size when video->reqs_per_frame =3D 0. And limit buf->req_payload_size to video->req_size if it's large than video->req_size. Since max_req_size is used at many place, add it to struct uvc_video and set the value once endpoint is enabled. Fixes: 98ad03291560 ("usb: gadget: uvc: set req_length based on payload by = nreqs instead of req_size") Cc: stable@vger.kernel.org Signed-off-by: Xu Yang Reviewed-by: Frank Li --- drivers/usb/gadget/function/f_uvc.c | 4 ++++ drivers/usb/gadget/function/uvc.h | 1 + drivers/usb/gadget/function/uvc_queue.c | 15 +++++++++++---- drivers/usb/gadget/function/uvc_video.c | 4 +--- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/usb/gadget/function/f_uvc.c b/drivers/usb/gadget/funct= ion/f_uvc.c index aa6ab666741a9518690995ccdc04e742b4359a0e..a96476507d2fdf4eb0817f3aac0= 9b7ee08df593a 100644 --- a/drivers/usb/gadget/function/f_uvc.c +++ b/drivers/usb/gadget/function/f_uvc.c @@ -362,6 +362,10 @@ uvc_function_set_alt(struct usb_function *f, unsigned = interface, unsigned alt) return ret; usb_ep_enable(uvc->video.ep); =20 + uvc->video.max_req_size =3D uvc->video.ep->maxpacket + * max_t(unsigned int, uvc->video.ep->maxburst, 1) + * (uvc->video.ep->mult); + memset(&v4l2_event, 0, sizeof(v4l2_event)); v4l2_event.type =3D UVC_EVENT_STREAMON; v4l2_event_queue(&uvc->vdev, &v4l2_event); diff --git a/drivers/usb/gadget/function/uvc.h b/drivers/usb/gadget/functio= n/uvc.h index 9e79cbe50715791a7f7ddd3bc20e9a28d221db61..b3f88670bff801a43d084646974= 602e5995bb192 100644 --- a/drivers/usb/gadget/function/uvc.h +++ b/drivers/usb/gadget/function/uvc.h @@ -117,6 +117,7 @@ struct uvc_video { /* Requests */ bool is_enabled; /* tracks whether video stream is enabled */ unsigned int req_size; + unsigned int max_req_size; struct list_head ureqs; /* all uvc_requests allocated by uvc_video */ =20 /* USB requests that the video pump thread can encode into */ diff --git a/drivers/usb/gadget/function/uvc_queue.c b/drivers/usb/gadget/f= unction/uvc_queue.c index 9a1bbd79ff5af945bdd5dcf0c1cb1b6dbdc12a9c..21d80322cb6148ed87eb77f453a= 1f1644e4923ae 100644 --- a/drivers/usb/gadget/function/uvc_queue.c +++ b/drivers/usb/gadget/function/uvc_queue.c @@ -86,10 +86,17 @@ static int uvc_buffer_prepare(struct vb2_buffer *vb) buf->bytesused =3D 0; } else { buf->bytesused =3D vb2_get_plane_payload(vb, 0); - buf->req_payload_size =3D - DIV_ROUND_UP(buf->bytesused + - (video->reqs_per_frame * UVCG_REQUEST_HEADER_LEN), - video->reqs_per_frame); + + if (video->reqs_per_frame !=3D 0) { + buf->req_payload_size =3D + DIV_ROUND_UP(buf->bytesused + + (video->reqs_per_frame * UVCG_REQUEST_HEADER_LEN), + video->reqs_per_frame); + if (buf->req_payload_size > video->req_size) + buf->req_payload_size =3D video->req_size; + } else { + buf->req_payload_size =3D video->max_req_size; + } } =20 return 0; diff --git a/drivers/usb/gadget/function/uvc_video.c b/drivers/usb/gadget/f= unction/uvc_video.c index fb77b0b21790178751d36a23f07d5b1efff5c25f..1c0672f707e4e5f29c937a1868f= 0400aad62e5cb 100644 --- a/drivers/usb/gadget/function/uvc_video.c +++ b/drivers/usb/gadget/function/uvc_video.c @@ -503,9 +503,7 @@ uvc_video_prep_requests(struct uvc_video *video) unsigned int max_req_size, req_size, header_size; unsigned int nreq; =20 - max_req_size =3D video->ep->maxpacket - * max_t(unsigned int, video->ep->maxburst, 1) - * (video->ep->mult); + max_req_size =3D video->max_req_size; =20 if (!usb_endpoint_xfer_isoc(video->ep->desc)) { video->req_size =3D max_req_size; --=20 2.34.1 From nobody Sun Feb 8 04:34:47 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011003.outbound.protection.outlook.com [40.107.130.3]) (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 DB7763612D7; Thu, 8 Jan 2026 07:41:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858122; cv=fail; b=QRBVqVI9IpT1Imgkqc+SVp2gT9FEC8l7+ptofNuFTd/UkMc+C1ruFQFOdod1tBZ2cZ8DvlgkFY0BAyrLJUfLsXYOKu+ljTB1KqJgsz3vHb65u25zyUxXt/OV9Gksw6Gs9Y3Gyk+IF5oA4mvlqBrCA//l0+FwI6zVLoLLNJilepI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858122; c=relaxed/simple; bh=kSxWxNwefu30y5LyFID3cwkPHufdFKpIrRj/ct0J8LY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=G5URv5uSb8Qf28Z52KcjPkY9glZ9QIMftOW5NqNpd2lk7ZyOYEDF94QvKxdKt0gUzpuTd/0kKHYPKU6mfdyu5QH7p57+gI3JoJiYsKWs7ftdOhqK8pYzYwjSB6k0JdjvjastalDWxRKGPP/WMs3nt4PNs6/2vBFCzIyQRd8ypvw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=AL2ODp4G; arc=fail smtp.client-ip=40.107.130.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="AL2ODp4G" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g8b3CvehsXwvW3fLqUEp00f1Z4P1CTmnu9KyQWlN96ixfrAWbxE6tdNMMJSlxt5dDN7QxcXGsUPLl19T7xDOzz95AlnoZeRUmxhXEeCfWVmKcy/emyThWuM6DGz4brTFQta/E9EYyWHtsAKXhwT5ShVnBlBW4OrMnPm7W4hVl6EObVSelFZrYK1yt/kApr1r0fT6H2SBK1LzEA3angr0qiViiuoW08HWHj81v0s234XFKMjUWVyW+oqwKQ6dxGS2ns9UxnG7HIrzL1Jko7HmRaKM7YiK8zVEIRY7buUktgR55s4rMATyNozEEOWOqnvP4766Hx6wAUnpN+ny4WruBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UWAnZ5tqWQqGjjtv0kE1AQHMMCPU92uOi3JBUxe4ysM=; b=xSA+QFkjEzyG3w3E9f//gns5CvGOyFJA3FzEMcy6nVqU/SyD77uf/k+rWBjfvnwelBxLKbJe1U7aV60asTalKwjPxpn5Bmzd5MWKP3x9OWWPu/kGRHSPzx50FswLC0CW5PuQFlenaaM4FHRvt+Qhxbu6kg8owK55E3hmJtR+F0VDo1hEm0LokY8Jel3fv9sxa7LLjUw/G+fXLEbFFMvHf+JLy0o7+4sQsJ11NOdQXWR8sjy6htJUal3ytwlph1HjZKAHkII4zpPe0rGTriq8is06rC3IZJPAaEVEYHWNGTQj9F9zfvLH+IuMQ+68vIrJjSJffz78i/vqW/iA/L9fQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UWAnZ5tqWQqGjjtv0kE1AQHMMCPU92uOi3JBUxe4ysM=; b=AL2ODp4G+YNvrnhVi71FnsGe6qV17suTbNGxChfhleZ5YU7baSSCCKbnIquhJSDTd9IJO1TnJ5uTNvF2okeZ6FFT9SmFhsnW1ELOE/pm5LLKkHDCsyrtMPEESIQcP1etaoLdrCD82H+mPNKGVjotBnYaJMupG31PPVIGXJzSQPZlUBVXWv5wsh8XSnG2SrRCLlEjeQAK1qbjYwl1CcqFai9zGTnHyycfKJ2fPEVj3R/61oXH5QDVRX9jxcD7YF3AP3f7vGusKtHGUTrilJn/hMczDuGOtNqGfv/OOWYz9bDSCOMH/FioOC1oYMDK51ImIt+aO3eGY69G7kpM5OVWcw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) by VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.3; Thu, 8 Jan 2026 07:41:51 +0000 Received: from DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce]) by DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce%5]) with mapi id 15.20.9478.004; Thu, 8 Jan 2026 07:41:51 +0000 From: Xu Yang Date: Thu, 08 Jan 2026 15:43:03 +0800 Subject: [PATCH 2/4] usb: gadget: uvc: fix interval_duration calculation Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260108-uvc-gadget-fix-patch-v1-2-8b571e5033cc@nxp.com> References: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> In-Reply-To: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> To: Greg Kroah-Hartman , Michael Grzeschik Cc: jun.li@nxp.com, imx@lists.linux.dev, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Xu Yang , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767858202; l=2328; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=kSxWxNwefu30y5LyFID3cwkPHufdFKpIrRj/ct0J8LY=; b=H0PSJ38MI7B36sTSEoI9RtiTI0usHCTS9n0xl6x2XcA0x43bdICUuY2hFOVmARVoH3OgL/HXW Yp1qK0adoghBKOLzDWwSmS1E8KZMNHwZ8CvcQwzvMwToRrF1CuLIxno X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SG2PR06CA0201.apcprd06.prod.outlook.com (2603:1096:4:1::33) To DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8822:EE_|VI1PR04MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: 20662d62-d651-43ed-907a-08de4e896321 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eGhRNFBuekdJeHptM2xDdEg1N1NPcWhNWVluUGloU0VrdXBJcGdMZUdGbWhJ?= =?utf-8?B?cjVsTXh4QjJWWWZkaUlGVnVBdlB1WmZsZllhYkh3cUY4UWlOaFlFSGVkaEtl?= =?utf-8?B?eDN5Qm9nNFNKTmNlM3NnYWJIYlFDLzJoQ3ZGamdydVJTcjdTVmF5RS9iVTcr?= =?utf-8?B?dUdtWUpwVkc0RVl1UG9rNS9naTF5dEV1Nk55dEtBTVFVOEFVS2ZSOGN5WnYw?= =?utf-8?B?UkJScHNVajlYNDJTelJENFVhdU8vR2E1U3VDajBaWXllQmV2V0J1OHJLd1RG?= =?utf-8?B?ZlJndWxaTHJUV284eEc4K2ZmS09sdnVuODJkTzFGK0tlbDlnVHBpU0greTBo?= =?utf-8?B?ZFhGUDVpMFY3UXFvNVZETmFsNmF3TTNDck5VNjFNWmdoMzNNRnVWQ0N2Tytr?= =?utf-8?B?VEFESkNKYUlXK3lTL3RLTFhMVnlhQkFvanNCSDJIWXQ1U2ozWkJHZnpqNElv?= =?utf-8?B?N0RwdDY2ZGFVQzNDT2xic3lIRHozVFZlTzFmb3B2aEV6VFcyZGhWVklRSVVF?= =?utf-8?B?MWVQTXdJTkF1Y0lubTBHMnkxdkRoQ29mOUkwUkwzMDZvV245THM1bGt4djFa?= =?utf-8?B?WWtHVjg5enA0M0hsd1Z1UjMxbUUzN2NSQUphOUJzVyt3WXlVZ01sUTdsWVZK?= =?utf-8?B?NjdybW5TREVReERXaG1SelVCcU43cTZEUFV6YncveVhVSDJFNXZvQnFSVkVm?= =?utf-8?B?VmVBdlRXNEErMUwzeGVzdmZWWUlqVlFXS2xxOStnOFgrNUlJQkJXbmJlcXdV?= =?utf-8?B?RHUvUkNYMUlpWXdDdnA2K2RScXVSMzdKVE8rbTE0UmdiaEo1YXA3MFA3RzF3?= =?utf-8?B?ZWV2NGZJSDNLeXlrazNwS1V2TW4rK1ZnZnFzak5mQitVSURLOThvY1ZQRXMz?= =?utf-8?B?ZXdPM2ZnVWJxTGgwbFZwZWp6TnE4Vi9LT0hiQS8zeW5LN3BUVDRyT1hkUVhm?= =?utf-8?B?cEQ4a3piejJENGt1ZU1UWE93YXp2L1dnZTNEM2FzRVZjSGVDY1ZPL2ZFakgv?= =?utf-8?B?VmNGdm1DdUw0empEek9KUFFBYldyWnpTNGtwYUNNT0lSSjBCSFpuR2lIVjBN?= =?utf-8?B?Z3hvT3VCRGNpOEgxR0p6cHlnM0tGNDA3aUxFcTRYUW5hWDlQK0ZUL2NzeVFY?= =?utf-8?B?NENkWGxzL281eWZNTTh3Umh5Y1pRRHd3MzBKWU9FMmxPcHY4RDE5ellYVG1I?= =?utf-8?B?am14MTEvc0xFWEpIazVtaWlrUVp1WWFCa3ZYd0t4bk1SazkvTU1JUlJ5ZWFm?= =?utf-8?B?SW12dldnczFuK3Z4TmJxU0JDRFJXRUpHODRsNEdZcklmTjJURWJNSXRLbDlS?= =?utf-8?B?U0ZGTm9GK2x1UHUwSEdLZVZsMjNtNE91MnV2UXQ0Vi9qaGtQSHZhdGdLcXhY?= =?utf-8?B?c2NIcUM1dkovWlFzSHhNSzY2TXNIYTVaZVRqQTM1Z0hHZjdHNjk5ZnRVVDF3?= =?utf-8?B?OEFoZk5rUWsxOVc1S1ZnWS9Qc0xMZjRUMWZ2UkFqcThHRkZ5SE1SNE9QREl5?= =?utf-8?B?dnAwZmM0MnRiM3J4eU1UM0JJWUFoRE1iMkNqOFRYSk15QjQycjZqYVBjY0tl?= =?utf-8?B?Wlg2dlpWVFFOY0tXb2E0dGVodnlTRy9aNThRRUxMa1ZsMWFLRHg2UkpXS05j?= =?utf-8?B?Y3ZrQmxoYTE0U0pJcU1oa2Z4T3JiQTA5enVmays1MnZoem9RUndoYXdxcjNa?= =?utf-8?B?ZldKeURlV0NoeEQ4bitvSmdPSUUvbTRNNmRsK3NWSDAvMElzckdnRlFIZXVC?= =?utf-8?B?UWFMNFNqaGdCV0tLVDM3T2cyeGdNYkZxMVJTWXVIaDdFcWk5UGN2clFkemQ3?= =?utf-8?B?bUxTYmhUTnZ6SXMvOGZuV1BZS1VLQU9KY2ljalo2Z3RjOWd2dDFVNVh4eFR5?= =?utf-8?B?R0EwQTlyNG8yZGFxek1JZzZtS3Zwd292eGVpSys1MlplNXNPRHpnMkZNN2dm?= =?utf-8?B?TDZkM3ZSU1gxQkM3ZE5BcitqdHhGb2MxSi9Va0Q5WGMxTVY3bG5SZC92T3Rn?= =?utf-8?B?WUxvWW5TTldYMmNsUHhPdlV1Q05hRm9iQlg4VjZuUEZSTG13TStYR1Z2bi83?= =?utf-8?Q?WL/le6?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8822.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dVJhYTFVOXVRU241VE4rdU0rdzZPMTE3eGpCcnB2ZjB6TlJLU3QxY1krRHhU?= =?utf-8?B?Y3piVy85V1hhWmx5QjZHTjlneW5LRThoU0E5VkZ4QTk1V01aNEZVT2NWS3Vm?= =?utf-8?B?WEV2MXozMjFnSFRRenRzaDBhTUNPTjZJanR3OVcrV2pEYUlWNWFKWmV0dDU0?= =?utf-8?B?dVRtMkFLLzlkSWVYZE1tMlRqVjJOOUFEV0JUN2ZoeWljeml6OE0yU3JqT3lw?= =?utf-8?B?cHY4ODhjaWpXT1IxeHNQSHlUWlJHdUZlTVQwdlVIU0I4cnVFMW1SbE0raHpE?= =?utf-8?B?Ykg0THVPazZlVjd1TmVnWm5uSkQrVndQanpOSmpiTkk4UjlDeTVya3hubnlI?= =?utf-8?B?bW5DaXNhTU1CZWtSRFZNbW11blc3U2ZiK3IzaDJYZDI2N3JVUlhPQXRycnhJ?= =?utf-8?B?SUs2ZXFpRG9neXYxaGJkZVNPL29EdnBnRWFaKzRrTjc1dHN0U0I1NDZ3QTMr?= =?utf-8?B?VW9zeFo5Q1BDZzhVcy9KV2V6Y040V3h1KzlISmJpYTMyRFBycHZDUDhHYXpK?= =?utf-8?B?b3lNZnEwM3BEVUdGSWJoR3JtWE8yRlpmKzBZSUo4bDhWK3QwWDFkc2dWUHVl?= =?utf-8?B?QWMvN0R3VVJJVU9YdWM0T0RwcGtUSjFFenpxQUR1cG5XclNjeDladFNjYzdV?= =?utf-8?B?RzBjNG5zOUdCZW5zdnRVSkNWTCt1cDBRYk5ZeENtdmFBYVhBeVRTQ2ovUFh1?= =?utf-8?B?Ti8yNGR4b2J3OW1Ec1N4dkRkRFNsYVljNEU4TmhOYVRtRzVvekVPVzN5aU52?= =?utf-8?B?dmxpMUdNbnVLRnVYMngybFdpaks4d1JDdFMxRCs4T3lyUm1oc1lreUtYR3Mx?= =?utf-8?B?NFJNU2xZcmxBUmlEV1R3dXN2WGlHYW1DMGl4R3ZzcWkrQ0tqK2l1THQrNzRq?= =?utf-8?B?N2w0dUxjSGt3TjQxc0FsSG1iWHVRbFJob2hNUzk4b3FNa1doN21VOG5sdnpl?= =?utf-8?B?T2VlNXIxTmFJZlZGQUtXMnlxbER3Q1dzK2ZRai9heUxLWllpS3VHNHY4aFZp?= =?utf-8?B?R3BXYlA2UWFkdHVVWUk5T3hpbWlROTN0YlFkQkwxYVBRTjUwRCt2QUM5ZmRn?= =?utf-8?B?cmRNdWd3NU5EVjg4Sm8rQ2RGYU01ZlNYN1BpOWZadWdiUVdvYVk2V0k1MTdy?= =?utf-8?B?eVhYdURYaW9MZ2dvYUJ4dEUrclNNaWY3TXZNa3c5VC9BWU1vdXRwZm5YL1g1?= =?utf-8?B?amlDb3FFb1NDT1dUZFF1QytzZW5uclc2UjFRd0lCSW8vcUdwT1NDSDhOYVVt?= =?utf-8?B?TUthV3VPKy9ZNHBMeUMzL1kxSktYS3VPOUdaM1N0QzFEeFR4cHVxNHNqWUho?= =?utf-8?B?VEJaM3dYOHU4T0ZlNEJNYWZEcUQrb3NOM2RNOGZZVXNSaXVyU0FIQ0Z6RHYx?= =?utf-8?B?ZUdoelZvdkdPM1FBR2J5MXZ0NzdBVUxadjkxRWJraEVVT2tqNERHTFNqZGxO?= =?utf-8?B?OEpNZzZZMC9LRGloVlJ5aDlyL1NXMjJwbHVseDVsNkFNYnF0R21FRmd0azND?= =?utf-8?B?RXVZRVR3QjBTdGdVQUtRcXNjcUFaK1ZMOEFGdStEdWJQK3pyZGFrSEZqN1Vs?= =?utf-8?B?RVFFWHU5d0JjUVc5RFlKKzcwSmxQSUYwbnU2RXpRTmxGd2dyOCtac01FbGgx?= =?utf-8?B?dTNITytzSGJGV2UrV1JJVVlVUncxV0lCc0pVcXR3dDNsY1h5Z3dRNmhRUWo1?= =?utf-8?B?dUt6MFQ2ZUVkbnNuVmEvTE8xMHRtdWJFOTE2d2lLTlpZUXRmYk5nWjZ3YlF4?= =?utf-8?B?UEtnOHR3M3ZPQUJnYkFZbEdaNWxoajRDRzA5RytqUENsanBpY09oQUpYbjBD?= =?utf-8?B?a0pwN2ZZN0dOaHVkL3E4YWpsUHowS2VMd3lNN01nOEdjU3hyaUk4ZU5VZENq?= =?utf-8?B?ZnZucmRZcHZXanFGY0dPR09oMDd0QWxMZDBUWkpCNjdhajU1N1FST2hzYXlu?= =?utf-8?B?dW1RL0pCVk9nTkFjV2d1c0ZPeGJXSFlKcTBpK0JEZlcrYzBrdVZMb3hnZDdU?= =?utf-8?B?akRhTksrRTViSWE5SldOUzJiRy93cUsrR1J1Z3JyZkdLSVpUZW1CZUxGcklx?= =?utf-8?B?bm41akRDVk5OemVRenhtQndMMi8zcXQrd0FBajFOUkJUYXBtRVpuWm1MV0Ew?= =?utf-8?B?bzdVYW96WlJtWWxwM1JjdlhRQS9hNlJaVnl2TWxTUU5WR09JelNhTVBYZEZh?= =?utf-8?B?MjdMVS9pd3IzbkZTZkdIRFNiTFRuOTNRdzlFOEtLQkdDWTRUR1Z5TC84bW5j?= =?utf-8?B?bERqTVorSmt2RTFRK0lNZkVkNlFGZ0xyTmY5MmFYTTNSVFF5V25XT3EwOFBW?= =?utf-8?B?dks4aFI3YWdoNk1BL3A5QW9zUUV6T2dESkthNjhiRS8xRkZ0YTc0dz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20662d62-d651-43ed-907a-08de4e896321 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8822.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2026 07:41:51.4967 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7l3WGe1Tqi8P2/2z+tVWnWGtrehUVZWquIINLnXRyqKnI+Sh9g1XSNBe1gb0PbFkxkes6Z9F6Qf1Lj1R2XAC2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197 According to USB specification: For full-/high-speed isochronous endpoints, the bInterval value is used as the exponent for a 2^(bInterval-1) value. To correctly convert bInterval as interval_duration: interval_duration =3D 2^(bInterval-1) * frame_interval Because the unit of video->interval is 100ns, add a comment info to make it clear. Fixes: 48dbe731171e ("usb: gadget: uvc: set req_size and n_requests based o= n the frame interval") Cc: stable@vger.kernel.org Signed-off-by: Xu Yang Reviewed-by: Frank Li --- drivers/usb/gadget/function/uvc.h | 2 +- drivers/usb/gadget/function/uvc_video.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/function/uvc.h b/drivers/usb/gadget/functio= n/uvc.h index b3f88670bff801a43d084646974602e5995bb192..676419a049762f9eb59e1ac68b1= 9fa34f153b793 100644 --- a/drivers/usb/gadget/function/uvc.h +++ b/drivers/usb/gadget/function/uvc.h @@ -107,7 +107,7 @@ struct uvc_video { unsigned int width; unsigned int height; unsigned int imagesize; - unsigned int interval; + unsigned int interval; /* in 100ns units */ struct mutex mutex; /* protects frame parameters */ =20 unsigned int uvc_num_requests; diff --git a/drivers/usb/gadget/function/uvc_video.c b/drivers/usb/gadget/f= unction/uvc_video.c index 1c0672f707e4e5f29c937a1868f0400aad62e5cb..b1c5c1d3e9390c82cc84e736a7f= 288626ee69d51 100644 --- a/drivers/usb/gadget/function/uvc_video.c +++ b/drivers/usb/gadget/function/uvc_video.c @@ -499,7 +499,7 @@ uvc_video_prep_requests(struct uvc_video *video) { struct uvc_device *uvc =3D container_of(video, struct uvc_device, video); struct usb_composite_dev *cdev =3D uvc->func.config->cdev; - unsigned int interval_duration =3D video->ep->desc->bInterval * 1250; + unsigned int interval_duration; unsigned int max_req_size, req_size, header_size; unsigned int nreq; =20 @@ -513,8 +513,11 @@ uvc_video_prep_requests(struct uvc_video *video) return; } =20 + interval_duration =3D int_pow(2, video->ep->desc->bInterval - 1); if (cdev->gadget->speed < USB_SPEED_HIGH) - interval_duration =3D video->ep->desc->bInterval * 10000; + interval_duration *=3D 10000; + else + interval_duration *=3D 1250; =20 nreq =3D DIV_ROUND_UP(video->interval, interval_duration); =20 --=20 2.34.1 From nobody Sun Feb 8 04:34:47 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011003.outbound.protection.outlook.com [40.107.130.3]) (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 3849836164E; Thu, 8 Jan 2026 07:42:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858126; cv=fail; b=jvrchoafbVYXEigG+yEIKFnO0EEGOXyITP6jn/AEfQ5La/JVm01qMwna3S8uiup2K5sB0eZ+zG4rt8tSNWxhEMwNZ1lcpCD7v3OtHOBFnzRUpNPLFufSAMGxIAVSjzpur2zESmoc5SLshR6GOJ9NCjgKAkQJzUlVEnupoKtzp/I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858126; c=relaxed/simple; bh=fAF2UM4sJbKeCF4F0zL00kVG7FR9E40n7lre4EImxo8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=i/yfzzL9JMEpUxLpJ7jgpfUDXZpX1QOWcCZ0ojKErTMMuIV0/mIfAi8LaiDlIbHL/MY1nw/DCz2Wclol0pJ4eHh85FVT/0xKT/TQjKU4NGo8dyzXIgGgMQlZHsGcdJZcKOF3zGHZXq17KOUl5CdbMD4bhgVNdWz0I1uiwPzZzCU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=iwUReWHv; arc=fail smtp.client-ip=40.107.130.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="iwUReWHv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SlcqHRL3xVW3z+JRSYLTJ9hg6pyRciLP03d9nqg7aNc1W5VIwilCz0WDY/yT+v8o+kYBlVG4yR41GM+wPLqUK0HlSiF3GKvTnF7oS240/SOmZePkKA8LhfbOH4TjUde4ahU8OZ1EGu/qkaPo3VajywucsgImR9OClu2wZcAiksf4S5f/20xN6opZPpvXCB/NMADxGiU7bjXj5n8aeaig2JFwyvayXwSDgJ4sxmEUhcIUkMMc0qLLTe5CuYG9uEdmvI4Zj+o9C6KwXh3DdIQfHNegpt+oUYsIKhREwuOzYpHUJPkhmt2YMadOX41b5qOKVov7z+rXw7yN+iUZL2e+3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3Z38foown8TEk8Uob5UxDy2ZQvQadr3EoOD7LnUwN1E=; b=MledokQc/UFQ1zVhiqKga4imFEBouIcj8GQKsrChnL6E6Bl7ls4qL+vd+o5J8+03n+yBMSNBuVN/FlFQXvxJOPKI0lG4dMd2Y2mO2Fy9a52j/pm4J5JginukPVDsgec59cbamaNkdZ9I2mSmls/Phna2uNo6A04E9rYwq7Z05qUeYGdZnYYrPVyGj5qATifrAvBI123mHpdb8q48qHUMxtb1R+pEhfjgKJgLWuCSQnkCxgKOVFfGtB+AvOwc0QwB8pT+z90OaxJXE4B2XRu00jpxOhHXJC25e3y/YPnvnliRk+aLeYi1XshEol+A0IxKmLAoq0vRKgyJnPoUCaR8xA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3Z38foown8TEk8Uob5UxDy2ZQvQadr3EoOD7LnUwN1E=; b=iwUReWHvlba8iBVH86ldiGoVbOLafp2dAHBtUYOCDzmU3UjukIDh1A0avp7bKHLbgu5pFRrKMYCQKWzv98gAB0xw2E04uXbxYtqImJcL1nwXoT3ziHU3oxYcBeWFbxHA+WaEu6wQPpd8HQeue/H1ylifdnNmwUN73EE/ufvHKS5xZ9IS9uNH/YFIyixzFIvH0bhkga/6wdSWaV2VWwTO5rMNra1EI5/uiH0ajffTJ7yh/cWWEoHGELnPx8lnPlWjhxePXkstiDy8GqNazxdC5PRKyi2Sxmn/QaYM2msW/4c8he1XMVu9D1lqw8v8Z0TeRLINryCmYvkztU0iGsXymQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) by VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.3; Thu, 8 Jan 2026 07:41:54 +0000 Received: from DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce]) by DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce%5]) with mapi id 15.20.9478.004; Thu, 8 Jan 2026 07:41:54 +0000 From: Xu Yang Date: Thu, 08 Jan 2026 15:43:04 +0800 Subject: [PATCH 3/4] usb: gadget: uvc: improve error handling in uvcg_video_init() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260108-uvc-gadget-fix-patch-v1-3-8b571e5033cc@nxp.com> References: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> In-Reply-To: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> To: Greg Kroah-Hartman , Michael Grzeschik Cc: jun.li@nxp.com, imx@lists.linux.dev, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767858202; l=900; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=fAF2UM4sJbKeCF4F0zL00kVG7FR9E40n7lre4EImxo8=; b=jGDMRVKNesMccgIetuns4YMnkbY9p+h+65FbnWPcEneb2YHTA44wS0v8AUJJJNLB3CzH75y0g cfF5j1NjJFzAFhD02hCCeXxnAJs+ej2NWW27nTLJ+xvlSQS3GUVyNkJ X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SG2PR06CA0201.apcprd06.prod.outlook.com (2603:1096:4:1::33) To DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8822:EE_|VI1PR04MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: c5d3eaa5-65ee-4e7f-cf7f-08de4e8964b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?blBqblJRWHQxMjR3by9HVWZiK0ZLN2dEMUd2NjhiMkNoTVh1OXVmbWtWRUxB?= =?utf-8?B?cTJ4eG80K0VObENvSnZXbytjRVVxMU53Y2VwRFhROTRoMnhIcDdvQlMvU0dJ?= =?utf-8?B?VDRFemZ0UmJEWkxoWEViTTFqTjFUMzlRVFdyd282b3JmbDhkN3NlZStWYnlJ?= =?utf-8?B?N01PTmo2eThZVGpCUmhRUENva1F3ZTFLTVVWdVBMV3N3dlhvN1QzRGVLTXgw?= =?utf-8?B?NnJYTUZPMmxEOXluaFJvcElQclpxUGhvM3JNN0h5T3g2S085TWpBelRaRldr?= =?utf-8?B?K0FQY3MyTHBaZm5FYnlLL2doUUZnQktiNTlkRFo5czM3Q2RxTTFXRXJmRkI5?= =?utf-8?B?OVRnRGVSSDJlRmtSRXlScUhTTDdOTWcrMU81ajd6Q3kwNVN5Y0NKS1JITmRP?= =?utf-8?B?RXJnRnlwRUNNaGlDUTJtMGlDTGNlU1NqakdnVk5BTWxFbk9DWXVkamhKZ25G?= =?utf-8?B?Y0dTSFpHR3BqVTlaUFVCVmlteTRuZHoyVUNUdndxZStaVHZnb0ZEQ3Vhbkcz?= =?utf-8?B?UTIrMWx4ZTVVUWJXcjVOVmxYRjZrRkVIWStCZTljNFg5WTFBQ09relZNdEhl?= =?utf-8?B?eHNkYlIwOU9HNC81aXphMWVsRmpWTHZwNGZrdFBKRDJwWEpmcHNUalc3NER4?= =?utf-8?B?QXZKNTZaUGJCKzZtd2NXSnJxQm42N1g2Z1pEd0tMUHpTYVJMWHVhM3lsNExC?= =?utf-8?B?N0NjWENLMCtJb09xZlBLNHNOcUdmL1g0VFF4dDZuT0ZtWERRc2JORjN2bnNi?= =?utf-8?B?ZVQ5MnJJVy9ZUXF5M21zaWpqK2c0WC9EVFduM0d3RzExMm1ISjMxMXlkUXVM?= =?utf-8?B?MnAxQUV5Y2JaV2RUZ0Z6QlFNbFJkNnpZUmtRNU5kVm1BaE9TdjB5eVFjQ3hj?= =?utf-8?B?YVpxbXlndHpRODZ0Q2o3Q0FrMlZlRm5XYTc1QjVVd2I4WHhjZmVNVjlFR1ov?= =?utf-8?B?N3NuWUQ0a0xkcy9OeUUydGZCMWlRUndQdlNMczJKUzBjRGNqK3Bva3FsaDB3?= =?utf-8?B?YWh3K2lCNXdCdnBaUlc3MThra1RVdmg3RndFLzRTVVpQbmZxRzd4ME5YM3ph?= =?utf-8?B?S1hidWU1bzZHdHFGN0JZVVl4ZEFKZjVySUlCTm1heUdjMkhxR2k5dHlpNldr?= =?utf-8?B?MG1ScFA1TXk2MU4zWSsrSW01dURGa25ra3piSGFHVnZTYjFnWjNWaHFtL2xu?= =?utf-8?B?OVIzT1JSSXBRemRER09zYW5qaWtyNDZQckVBeCtWNHhvUmcvR05xd04vUTE5?= =?utf-8?B?UnhYc2VWSy9FeE5RbnFnVEFDR0F2K01wS3VzQlZEV050Wnp3UHdESFVDakFq?= =?utf-8?B?bXVaM3hHQW16d2haUk9QNmdtUmp0M0MvVWozek1uYWN6T0dWWXg1SVJBemJO?= =?utf-8?B?VDFxQ1N4K1lrWkh1dWFvUkxnMXhMbkhJQ3lYQzQ0cFhDQU5DcGcvR2tBR2pu?= =?utf-8?B?eUo2M04wcmliVDZ3MDdDenE4SzE1MW8zckVQVEd6bndYVThIQ0JIWUlSa2lv?= =?utf-8?B?Lzl1dVZpMmE2R0xIOVh0Y2NFQTZyZDVzSmZNQjVweU1aRWJOendoa2h6b1lH?= =?utf-8?B?M3o2amEzWStXR3g1bk1RYkliT1I1SGFpWVZwYWVCeml4U2daQWszQzk5VElk?= =?utf-8?B?SWRKRENvNkQzZ09Vd3pmalhUMFYzTURUT0xIRmErVGt1empIOC9sTFJtTzdF?= =?utf-8?B?Ry9OQ3J5TnZsTzUyUXVEYzdpalJKRzlteEwrMGR5aHM4WjJrNDRubmFzbzY4?= =?utf-8?B?NGVndU5LeUNnUGxpd1FyL2N6TWkvZ01mQ2J4YmY0elpWU1U5TU9hRUx2S3pF?= =?utf-8?B?ZEs3emtMSXpLWnA3amNPbHpzaHRpSEgxbENnUGw4SzF6NWoyeFB2UmR0UDFM?= =?utf-8?B?STlOZDZqMHRPNXZ5VGJMWDVValpreXVtS2szNnYvT2Z5TjRkSWNsWE13dGFD?= =?utf-8?B?akxJdUU5S3FQbGxXS1RSbFNSek83TlV1WS9ydE5VMElNL1VFdC9RWHdKK3pO?= =?utf-8?B?UTNyZFlVdmFMeUNDUHN4c09EU09Ucnh5b0NZMDNwaDUxM0ZKcGwzYXUxaGNt?= =?utf-8?Q?jLrQZv?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8822.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M1hOMzZ6eXh4dDg0ZTN3N2ZucmJWVjM0TjNQTGZYYTE4NDdzTHRBY3B6VVlq?= =?utf-8?B?RkNONGxvUjl0K3hJT3p5RlVUWlZmdGszQjRkeDRTb0pPRHJvK29KS1Z6cHps?= =?utf-8?B?YmJpVzdreDhxa2VSUmtnK0w4Tkg0UFl3UW90cG5yNkRRWUhBaStyWkpJZEtY?= =?utf-8?B?SVJRNVVTUHRibEZwNXhjN0pmSXB0TE9NeXJzRi9OcGpzZ1RFSyt0WWRaRFgv?= =?utf-8?B?dG0vYjkrTmJLTzhseE9XVkM1SGJLUy9qeGxMTURXMFlaS0tTMGh3a1JOVXli?= =?utf-8?B?K0JNdWJVVjBoSXRqQWFXMVdaaFBTSEZHQlYzWVRJVDdkN0d4Y3hFaVNkS3Yz?= =?utf-8?B?bzZnL0dxR2t1aU41SS9Gd09GdlJjenpPamJyeERjK3AxSmJUa2FpQTlrT1dm?= =?utf-8?B?VXNPdzRjcU51TUQxYmlpWGdLM0tOMFhXN3Z2VnRXSkt2WHNPSEFjdE9Pd1lE?= =?utf-8?B?MndvV283QnE1b2VMSlpqeGdPbmJBT3hhckVkZXozRHdEcHMrQWs3WmhDNVY5?= =?utf-8?B?clFJWmp5KzZDOWhEZmNhYm9QNEVyM2FzMkVJN3JQTlNkSlR0cElTcjVtaVlt?= =?utf-8?B?Uk5MR3RvZ3JteTJyY2VrQXJULzNJK204SFFpMldxYld3NXhGemxBY2dUb0U4?= =?utf-8?B?RTJoOEF0aDJtNzVDMHkvMk5kUUpIY1RvbEViNWJpb2tkRmhtTzZBZ1NwVXhW?= =?utf-8?B?R1lIajFsUzQ1dVNsU2VMM3V4NTVOVTZHcmNyMlY4THhvd0tQNWxPczVZNE9j?= =?utf-8?B?U3VTUkk0cnVmaTdtTVZ6VEFsMzJlNDl0S0VaRHNqblZEczF3N3VMcW9kZWpI?= =?utf-8?B?RGVIeW9Jbk0wSlZEL0J4UVg2S2tCYjVjNTZpL2tlMWhBTEdEaDE3RXVqMHRE?= =?utf-8?B?TTJJbWF4d05Odnh2aGZaVGNveGJuMUdhMER2cUk1cEtqWDcva0FnOTVKK0Z0?= =?utf-8?B?WnRLUmdqNlNiWmh3RUExTFZjamlHeVd0UHhvZERpb0Y4SVdBVllpaDRtVGI5?= =?utf-8?B?Mk1GaFZtcHZMSVZSZlVFRXJ3ZDV4MkRFYWVQN3VPNmdicExlTm4vMGlwM1VV?= =?utf-8?B?VGFBOEVzMmkzZ28raHoyNjBuYmowZGNwQUV3ZDRQRlA5WG5ZL054VVFhSGxN?= =?utf-8?B?Vlh1Um1BMm9FeUtMWEdkbE5kUXRjdU43MHRlMm83dGYvbHQ1TDRhbEhSQjRW?= =?utf-8?B?am54eDVQSkZ0K0RFTnNGV2lTVk9tdm9nanBmejc2cWh2WEdUb2RTbVQvRjF0?= =?utf-8?B?TnFvQ2tLRlYrNzdZaHM1N3c2dmRVckdkRUJ1cVJrQXQ2V3hOOWV4OEt0UkNP?= =?utf-8?B?djRoYlVXVGJ2NW9DSzA3Q1FpdmJVTVlTenJERTJxeEdvbWpYbUtzMTNDTXM0?= =?utf-8?B?MXpiSys1K2Q3ajl5aklRT0p2a0ltS1RTRU1PdVA2OHpXSEhRMjJqNGJhRVUw?= =?utf-8?B?bVd3TmcwUmJlSjVhQUxPWnh6K0FRUzhYN3NGNEhuemx1L1NyVEJNd1MwdEdk?= =?utf-8?B?NGJHdXY3S2NuTGJDQUxOYWg0MzVCcTQ0eGRXY05PakROTVpCNXBqN1ptcEFy?= =?utf-8?B?OEdCU2pCOTgyUmJJdE44K20vaERmcVBZRUVUZWRyV21xTHhtQUlKN2hZeVE0?= =?utf-8?B?ZWpUM3JEQzU3NE5wdzBCcjRGTmVBNi8xRHdUOU1YWjdtTGJnL1U2aFZzbVhp?= =?utf-8?B?RnRiYUxkRU1UNmNGZ0lWa001ckZFWUhYMG9WSUZXdGlLT25SbjZialdBVWlm?= =?utf-8?B?ZW1vWEk5S2psa2hjckg4OVBRNUs5RUxoL3VuU2V0cjJIMkFMZ3BUaEw3cWFG?= =?utf-8?B?Rit4L3c2R1p6ak1UUUZURy85M1ZEdTg5RkhEbmdmM2ZKZ2tTRG9iZHVMejd4?= =?utf-8?B?bkxMTnRQczJrUGcxcUd2UTRUK3UvRjk0OGVJaUVmQmdxWTZjSkQ0R0xxLzIx?= =?utf-8?B?NmtCeTA0amQ0ZnVLTXNGSnl3NFVhOVRwZDlHV081aHd2c0Y2TTJEMTRVZng4?= =?utf-8?B?ajVDcno3SFI4eVlnZjdVZ1hWRmRWREkzQTQ0ZUVubDFVdEtqZ3dNSW5qb21i?= =?utf-8?B?SHdmVFlQSWo1MGNacExvRmdXRnQwTHgwWWtvNWxrNDVia3htOXpOR0lzdUVk?= =?utf-8?B?N1hzcFlBNHdoNWIxUHJBWGdHaS82Rk44c1B3ckZBQ1JSbGJFdFEyWFJrYWpi?= =?utf-8?B?RkFoVDZkZHN2YTZLRWcvYjd6OFVHOG8xYzk0K0xCZ3dMbWtuUDZqaWphSXhu?= =?utf-8?B?bTdNN1k5VTY4b2NQVDZOK0JZV0EzUUxINFByY253Tzk0N0gxRzIyTzhtbGc3?= =?utf-8?B?cUFxWDltSTFNbTJHYVJ4VGllVjVmVUM3eVBIdFdXWTVUSXpmUDhQZz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5d3eaa5-65ee-4e7f-cf7f-08de4e8964b2 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8822.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2026 07:41:54.1415 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9fgd099HlZb3QJRagvZd3CqSsB5sBb8QstTihZyXPpXXgDCYzA4qXqP42Ud3cOUPgXN+oL56tH59XPsLO4/I3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197 Let uvcg_video_init() return correct code so that error can be handled correctly. Signed-off-by: Xu Yang --- drivers/usb/gadget/function/uvc_video.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/gadget/function/uvc_video.c b/drivers/usb/gadget/f= unction/uvc_video.c index b1c5c1d3e9390c82cc84e736a7f288626ee69d51..ede300190f591d39e306aecb565= c614cdff5e664 100644 --- a/drivers/usb/gadget/function/uvc_video.c +++ b/drivers/usb/gadget/function/uvc_video.c @@ -838,7 +838,6 @@ int uvcg_video_init(struct uvc_video *video, struct uvc= _device *uvc) video->interval =3D 666666; =20 /* Initialize the video buffers queue. */ - uvcg_queue_init(&video->queue, uvc->v4l2_dev.dev->parent, + return uvcg_queue_init(&video->queue, uvc->v4l2_dev.dev->parent, V4L2_BUF_TYPE_VIDEO_OUTPUT, &video->mutex); - return 0; } --=20 2.34.1 From nobody Sun Feb 8 04:34:47 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011003.outbound.protection.outlook.com [40.107.130.3]) (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 23A30361654; Thu, 8 Jan 2026 07:42:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858131; cv=fail; b=Vjk8wb6WeC0uFsipv9lrnRS38v712YRXxPtkX68t/QxNCWdoUK2sI/P/6uH7LCzk6UDLP/fhzVL/SRzEHKrRBiy6YQOzgXdUfvioFru2rCqGdHonVrPj7xGevUaUxlDC3yAzn3McZYSZDnMJ0USiHvkGC4Q3Zu2sn4YpQo3WFrQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767858131; c=relaxed/simple; bh=ATeKGa7AmYavW2AIkAzTUcCV08OC/tRKQYtN7hrAiZQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=PotkL0OH6RQNdavDtTWe3GXZ95Z1e/BGmp+dsb3bUsZGQqlBz08RQBrvBMNVLktpGExWhDWMnhYsX93FucvRwfKNZBXYLj2nr8NGryBeG4TyMYa2TMqxzN5TSbMGRwugGG3uyuaizKft/+sPpbLYoVUatn+SLJ32UiAsZeFAqVU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=BRiZQsaJ; arc=fail smtp.client-ip=40.107.130.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="BRiZQsaJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZMtkMfjrG+jhv//w6z+LboQlYSCguYCWNOzjI2dp+nB6MMvjVqzQyObvuOXSnJ1ApB8r//JOjn4IFnVV1COXFVNh6qjJDy8RMiudZgN3IF8TWEGTP0GHo2C6G+ZppyiC+I97b2R+1cE+wnbIQ3w3r/EycgDz8vgyPza+p9RtSdWfMfa7D/uwYr33yzp5xtmNFTZs4hyvYDOHADwVV0NQ9A759pOsNjvP9KayZ4nuzFRPEVET/HKZ/MsDkjK6VxQSPge1cX3VDkzkGixQaOcuzqKiFaut94Ob2z36rGnZvzysJtHBR+I/Ht6DLru4/eRIv+3s5/VwVlwFLParXEi+WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7FF1sBn/W+2/Ujq0wgVCzt7DCdBN4g1GE2rzCZzgsmk=; b=aG8L3MOYE5kmUMgqPLoOVX5d0C7Qrn90LRsLayZToNSvuU4fF26+e2CSMu896C56QDDMMJBI264d4UGDPs1NjL6Mn2HPyjac2bR6vpRa7U8L8m6Z+9K4VGQYE8DHR80+YHuJKHG5Kcspc+4r4F3ZEduxkUTmb6ku86aK6qoKcth6ztWfaC7Hc9b8quOmMMhMcfIF5lGkLK1wjde2MpjmVOhN3l9Ew8V97AGJRS3Yai+cU8HeMpv9oXWkiexN73ds5LtK072gqWPOXWh3dQ5/VfxyGHjWW+m5Gq+JviT+NWpY59GU4oIGLplMRItSlrNaszx0SG1CByh1vpLLQzH+VA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7FF1sBn/W+2/Ujq0wgVCzt7DCdBN4g1GE2rzCZzgsmk=; b=BRiZQsaJQ8U0DzDcyJWF7VKf5WevJSoygS4cf911GVsOq8wlxoJlz1z2MREgg4vNGnLsW83v1JisehatNJjfrEuzPBT8XqFiHUp9Y2aqpYfTXlA33dbqHSW4/NpDcaPUnrIFA8Xi/YBvBvE75CKazH1eq3tnlwN4Qn/KJ/YP1EZZHRvfUEsLVy2VOb++hSreK88lAeSylOOhjNxZoiEKY389ACUgZk+BkDTS8+l28gD4/jikm7sDEtpzNbqedKcCOpM4sQoDMrpkBf1uxws4mymzW50Y6Meeo0gQ7VHCkEOa4iMJ4YqqfXgsgNpnPw1beC5gE7ly75au/NVrPmxk+A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) by VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.3; Thu, 8 Jan 2026 07:41:57 +0000 Received: from DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce]) by DU2PR04MB8822.eurprd04.prod.outlook.com ([fe80::c67b:71cd:6338:9dce%5]) with mapi id 15.20.9478.004; Thu, 8 Jan 2026 07:41:57 +0000 From: Xu Yang Date: Thu, 08 Jan 2026 15:43:05 +0800 Subject: [PATCH 4/4] usb: gadget: uvc: retry vb2_reqbufs() with vb_vmalloc_memops if use_sg fail Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260108-uvc-gadget-fix-patch-v1-4-8b571e5033cc@nxp.com> References: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> In-Reply-To: <20260108-uvc-gadget-fix-patch-v1-0-8b571e5033cc@nxp.com> To: Greg Kroah-Hartman , Michael Grzeschik Cc: jun.li@nxp.com, imx@lists.linux.dev, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767858202; l=1522; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=ATeKGa7AmYavW2AIkAzTUcCV08OC/tRKQYtN7hrAiZQ=; b=2blEgpuCs850BX2UZLTMW7idSPTrBDapO0nZAy+4dc35pNzcAscaibupzG9P5UQJDKZ9zu+NL q544vkD+0smD38BTJHg8Qt472c38lLPXS5uY/MJXtQ/WTRu4rFSLsFT X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SG2PR06CA0201.apcprd06.prod.outlook.com (2603:1096:4:1::33) To DU2PR04MB8822.eurprd04.prod.outlook.com (2603:10a6:10:2e1::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8822:EE_|VI1PR04MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: 04914c8e-1215-4ec4-651f-08de4e896660 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?R3hYTUwrV3MwSGNjU0sxZlJ0WUsvbG9WVWwwQ1dCdE45RmhybVZidDBCY3ox?= =?utf-8?B?eFoyNTNPL0JZR0JQcVRCMDcyYnNoN3JqV2ExQW0rSEtCY0tVbFhnVzd4S2Qv?= =?utf-8?B?bzc0cWsrYTVJa2xRUmFTTDN0eTMrS2Z0eGM3bG5EWWdtMHp2NTRkaXVUamNN?= =?utf-8?B?RVZwSHBRSU91Yjc4ZHhkRTQ3MFRLVTZ3bUtyT2N4eVhRdWFKQjJRMERWajhn?= =?utf-8?B?MWpIN1dwa3Y0TDVXa09VTy9XWDFHeDViZXhWR2NlRW5vVWQyUXdnNm9Ld3V4?= =?utf-8?B?SFlOMWYwbXd6RnNOTC82dURySEhYRC9oVVVVL2Q4bTgySW9DUmVJZUYrcUxp?= =?utf-8?B?ZnVrbU5jMzhwVjI1czh3SExhclUvcU8wbmRrQ0FoSFlGZGpIT1E3dm43MVVG?= =?utf-8?B?SWk5bjlHdG11V3ZHQWNHTlg5ek1uQkJGSGRzT3piRlovZjhMQ09aWktBWUNE?= =?utf-8?B?UWxGZTJqdGVEbmNkcXRnLzlLbDlJc1A2Q0EzY3o2NDJOeXBqVXNGM0FZYlFB?= =?utf-8?B?dkhNbEt5VHZvQzBUUm9aRUEzcHJhdGRhTTh2ZGVGNnBMQWNjUElJeDVheXZI?= =?utf-8?B?YTdNOG80YzB4UEpYb2s0b2hpV2t0Rk1naG8wbHdMVVJkTUlQMDdCb21FNWs3?= =?utf-8?B?enV5aVFWNmRySWF5MW5hRmF2UlR2RllSUXJQMHNoR0FYYW15MC9BQzhWMEVE?= =?utf-8?B?NTB5V1lnSXVWMkkyYkpvTVUvajJVWENpcnNvd005eFphQ1JNTWsvbUxBUkQy?= =?utf-8?B?eXM3UllvdkgyZEtVdXpzSHcrRUd3RkgrQ25jc0Q3d2crNmIzb2lua2VBYlNO?= =?utf-8?B?TEljcjd3WUdsVFJhY2JCektNeDdXQmNNcHB1NlVJUURkNVBNT0FYSXYwKzN4?= =?utf-8?B?ZkdaNnZHVUR1UGtGVzZXSncwZFc2RTh6b1Q0L3FvUEJnMGE5S2d5cnNDTllS?= =?utf-8?B?NFI3YW13SGFZRVhNNkhILzJvNjlaVk1xdHA0ZzZ0NGFCMEFkUzJINHY4aXIx?= =?utf-8?B?VVltbGV0bDFRMDJJcm9Xa1Y4ZEpTV0RTWndlbzFLeUpsWGJIeW5SSi9oaGdH?= =?utf-8?B?bWtjbVV6TE9MMVFEVks3dmpBN3BVZkRLbis3ZEhBbU83dXJKM2lqRlJ0Szh4?= =?utf-8?B?bUwzYi9pZHBUUWZ1UlMyR0hJWFJTNzVmendqOG10VkNidGdOSk0wV3ZMNi9H?= =?utf-8?B?TzhGUzMvandGeUNGQ2pLOWhwMmVwTlZlY0NzOGU4ZGIrRDExTDIwbFAwSkEv?= =?utf-8?B?aXZENTFqZHRGcXUzUEVXMXhTZ3BFNjk2czZtUDJxZ3Q1Uk9uQUEzOWRSanZy?= =?utf-8?B?bFBMcHFUYThrSm1VUkJ2d2Qyeit1ajRLckxLd0xJUXFxb0t5aHduM1BQTUpZ?= =?utf-8?B?RGg3SUNBWXBnVUk4RWF6VEFnc3prT3B1c2sxZ3FEemJvbWtwU01OWlNSb2hh?= =?utf-8?B?cS9iVzBQRVJkSTNJcm96OEd5N0J1YTgwa2NaV0xBWW9aOVRpMGlpdnd5RmNk?= =?utf-8?B?RFJMQUNVK082UWQ3RmNydk40TzAwai9YeXJnV2FqdkJJN0E5NTBCT240dmpx?= =?utf-8?B?UzJGYVJmcjVYMXRZM1pZZUQ5VW10eVF0ZGxMYmZNc1Z6cjFzYjl1dE9KNW1R?= =?utf-8?B?UUJXdUcxUVMvanFVcFphL0VBMzAyOWFXL1laRDdxYVdXckhuckFmRHZIaWhD?= =?utf-8?B?Vzh3dDJFeHZXbXg3Kzk1MDVBZEJ5TmYvZVNFMVlncnAvbllnakMxMVBIV3VM?= =?utf-8?B?Q2M5SjB5N29STlNINWVINU1QTmdNUlpJcWpYN245eHB0cHZGZHRLY1JvQkdy?= =?utf-8?B?Y2JoMUVIbVVtZS9yMkRDV1dPMldyWnQ0dW1rY1dMU3VtUzRtSmN2NG5uY2wz?= =?utf-8?B?ZW9RRUc1cytUeCtZY1R6dkk0OVlOak4wQlIwNit3YlRVMSt5L1NzazBIb3F3?= =?utf-8?B?VndZOUVBSWVpd2ZUdmRQRGxKN2xrbG5IUzJYeHhkK1B1OGRPOFg2aTRXallD?= =?utf-8?B?WUNxbTdiNlFDMWpyQ2NqZE0ycFEvZFBXTk9WVnQ3WGJhekJyOGZ3MDhQZzRw?= =?utf-8?Q?AkyxPH?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8822.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UHJnSDJJQTMwK250RElkSXhkMmI1dEF2eUEyckZaUDB1TFdlU3dDbWdyL3Yy?= =?utf-8?B?L0RzQnVqZGpma2JmWCtYdkFVUnNmL1R5bE1QU2JBTjdwa09NOEJnRGI0RFBC?= =?utf-8?B?dWZBeW9RSG1qbS9zNXhMWXZ6ZzBnZm9RRFNrT3F0ais3MG9EZ2NIQzg0UDRK?= =?utf-8?B?VXJoWjFzcjgzM3ZwM0N5VkRSVXgwa1M0SWdWMmRZMGJhcWZDaTNSQWZEVVFz?= =?utf-8?B?NXpxc2FNSVl3bG1YR0E4UVEzVk52SEIwZm9vek95Mmk5TGx5VzI5c3VPaHdx?= =?utf-8?B?dWM0cHNFVW1xZU5vTkFHR1hycWxZVVg0WTJ6cStjeHg5c1RTRnJnaXhITURZ?= =?utf-8?B?UzBrbTRHSWhmU3hmWGNNdm5NQkFsaSs2dDE1VnJ1VVFkN1IzZTYvMEJ6VFpl?= =?utf-8?B?bFRSYnYwZEluREtZNHZXWkR1Z3d3ZHRPZXpWTzdtTnlxNDVwVnc3UUlmTWJa?= =?utf-8?B?eDVmbmtDUWRFbWwxL0owQXNuMW8wb3pkaXJJcGV1VnlIRGlTQTM3S2lLaDBH?= =?utf-8?B?MTFWR01OSk1IVmRrZ0duYjZ5MW1ubVc1aEEzdzV5L0xmREgrRTY5UWpJd2NI?= =?utf-8?B?SmlEL2RpclN3TXIrOVNWMnJIcHEydHNiVDlTZFlLeXpzdGVZallSSzNUMDdG?= =?utf-8?B?eWpFenozWTNSVjJpdk5DcmU0RmVkRmZzb1ZBeFdobmxyYktZemZUeWM0ZDRU?= =?utf-8?B?d1JrSEFwbjlkSnRDdUlzbHdjWHJ2dS91Q3RkZFpLVnhxZzMzM3E4cmgyRFEy?= =?utf-8?B?ZXd1UWhsVVRLdllCT2xWdXhKYndQYkc3YlpkYXArZ0FPd003NjgvOVdaN2Nm?= =?utf-8?B?NUNFZFMyREo0L1JSelp1Y094ZmUrSVJtV0s1MXdCYi9LblVwaWxObmRaeXN3?= =?utf-8?B?MDlBSlQzZnBsM29vaGlnMFdvL2ZNQjBZV21GQnJkaS9vNVVCcTU2RFBObnZh?= =?utf-8?B?bHVhNHZhT2x5ZmZHdjI3Q0lMNE5MbW9ac3ZQcU56Y3lkZnpFWThVNWJVRVVU?= =?utf-8?B?a0dpVDlZL3FSbUVJaFFRVGlqY3hxMHNuUDB2dGZXOG9WZkJid0xVelMxQU1J?= =?utf-8?B?SXlEWFdUOVZRRkt0UndBOXhMY0ZDM0g4bGdDaElJenlLN3NBdlJZTWN4bFoy?= =?utf-8?B?cGh0ZVRHUi85N3BaQ1lhYVBFcUJKV0ZrcTFmcFk1dzJwZ3FUV3pzNUJGajA0?= =?utf-8?B?bEVXbVdLb21KZ0ZIQTRsb081cE1ybVJpbjhqeVo5bnRVbmc5YktUaC8vTDV4?= =?utf-8?B?UWRoKzZwaDVvWDRneUN5eWZMZS90bnRvOXBzMHIyTjJ6NW8wZGlCQlZVQjBL?= =?utf-8?B?TjZwSFhMbU5tenZiRG9SL3hXVUpWS2pLcFUrb29OaXdoc3ltelI0bDZWYi84?= =?utf-8?B?Smw4M2FLd1d5ZElqTU96SXBUMkF0WmdMNm9zRkpVRDh4bTBHNC91RVB3R01l?= =?utf-8?B?NnhWeU5RbCtPWUg5TktrdDd5aVYrcUR5cThzMUZxbmhLdFFDYVhoUmpzR1Vs?= =?utf-8?B?bFFyU1NPdTVrTjltdnl4cWpFcWxvMU1LeVY3WTVZZ3JlVUc3ajJmQUx1SWxa?= =?utf-8?B?OXdaQ01HK1pMU3ZoZVpuR2RMR3NOM2N6SXMzWXVabWhwUzZzTlBQSkFxMHNZ?= =?utf-8?B?M2FqWFZBT3d5V0NzYitJMFhhNkhFYkUyVFlnb2N3VjFHdU1qVUZkR29TaVN3?= =?utf-8?B?MnJNMzZDZUhQSjVuaEo4TWQzUFhJbjZnYmduRkVsbS9FTEQxQVdJdTMrVWg5?= =?utf-8?B?R0F2cGE2TEJoam1aSmREUmtDTEtLSGx4b3ZtdVNpOUFQZlpicWRPQjBqVUho?= =?utf-8?B?cndlTDNkSTBMM202N2QxVnNHMGVPb3pieVhOalhiVlViNkV5NzVuazFRSzlp?= =?utf-8?B?bG8rVDhOVUM2dy93TlB2VE02ZEtDc3BxVmZXQkN4K3hmVCtEWVRpbWRCSDJ1?= =?utf-8?B?eDFtNkJDVDhlamZEMmxBdWh1Q2tMYWVnZXRhMDkxM3BlSmlTMHNrUEppN1Mr?= =?utf-8?B?NlJ6b0ZuQlUzMHNwWEsrTm9NUlVxZ1NLdVJTeDBlakpTcnp1QkM0cEQ5cC9E?= =?utf-8?B?S3JKTnZLd05kd3F6Q3FnZ0NWMEZ2SzNOcGZoMEFjRlJ2NFRrUmJBNFY0Y0hv?= =?utf-8?B?TEsrck95WlZpVVZkemNidXIxTUIvcE16TGFmUVdodnRnK1VKa3puK3BUUXBB?= =?utf-8?B?OFN3RDJxUjVVcXdYRmN3VllXM1hvYUpEMmI1c3JqVlQ0czdLYjZ0VkdaakxP?= =?utf-8?B?NGVqeTh2S2xsMmhPMXBETUxmeGhXcDVwb3V6K2cvR1VWcGRWQmdzRFFZSzdL?= =?utf-8?B?d3lIWFQ5Y29WWjNkSmNWaU9DMnB6UUZ1bEhacE9TdENzazFMeWJtZz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04914c8e-1215-4ec4-651f-08de4e896660 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8822.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2026 07:41:56.9656 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AZcRT9uN9EBEevCGfYM9XJ6EfiIHb9uVbH9pEIURlK3QSai1gox5PZpb5TYckMT0J7mq+JTgJwCrR3jQ264+aA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197 Based on the reality[1][2] that vb2_dma_sg_alloc() can't alloc buffer with device DMA limits, those device will always get below error: "swiotlb buffer is full (sz: 393216 bytes), total 65536 (slots), used 2358 (slots)" and the uvc gadget function can't work at all. The videobuf2-dma-sg.c driver doesn't has a formal improve about this issue till now. To workaround the issue, lets retry vb2_reqbufs() with vb_vmalloc_memops if it fails to allocate buffer with vb2_dma_sg_memops. Link[1]: https://lore.kernel.org/linux-media/20230828075420.2009568-1-anle.= pan@nxp.com/ Link[2]: https://lore.kernel.org/linux-media/20230914145812.12851-1-hui.fan= g@nxp.com/ Signed-off-by: Xu Yang --- drivers/usb/gadget/function/uvc_queue.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/usb/gadget/function/uvc_queue.c b/drivers/usb/gadget/f= unction/uvc_queue.c index 21d80322cb6148ed87eb77f453a1f1644e4923ae..586e5524c171f115d98af5dda43= fb800466f46d2 100644 --- a/drivers/usb/gadget/function/uvc_queue.c +++ b/drivers/usb/gadget/function/uvc_queue.c @@ -182,7 +182,15 @@ int uvcg_alloc_buffers(struct uvc_video_queue *queue, { int ret; =20 +retry: ret =3D vb2_reqbufs(&queue->queue, rb); + if (ret < 0 && queue->use_sg) { + uvc_trace(UVC_TRACE_IOCTL, + "failed to alloc buffer with sg enabled, try non-sg mode\n"); + queue->use_sg =3D 0; + queue->queue.mem_ops =3D &vb2_vmalloc_memops; + goto retry; + } =20 return ret ? ret : rb->count; } --=20 2.34.1