From nobody Tue Dec 2 02:20:19 2025 Received: from mx07-0057a101.pphosted.com (mx07-0057a101.pphosted.com [205.220.184.10]) (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 238162E5B3D; Wed, 19 Nov 2025 10:41:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.184.10 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763548886; cv=fail; b=Eq3Y9lqN3YwIVzeFerJw4XEMgsIvQ5CfkE/tHHHSB+krxa+TWT3hLsSNtK/N7QYacFKk1P5Siam3AQyKpEQfkeYijmeTRb7HoAkHpiPZXc3zwlEFRs/+nRpDioyrsWuM9swMsZ0onYhLRWmH8kZiHUMZOhY1CR3/+HTgvmZJyKs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763548886; c=relaxed/simple; bh=Np6iYNAoN3MWlKYDk/BrXkMJemWMxhwaXYLRY7djEvA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=QXR5FsbOP7hxN6bMz5tUvb4vSdnka03SzUj1s4fG4gkiwY/t5+B03Ts2IxXWwS/YtXxqccFeLLndxSrT3bNI+vEVYzCn6JAj2GoPiqFlwu4k7bHCQy6U9n6TXerLgvbVa+hzAzY4CUY856rrZDTNh8JSkEm/bsvQ3vcpuh4W4jU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=westermo.com; spf=pass smtp.mailfrom=westermo.com; dkim=pass (2048-bit key) header.d=westermo.com header.i=@westermo.com header.b=qwrHgVqH; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b=bBwAv6Xd; arc=fail smtp.client-ip=205.220.184.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=westermo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=westermo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=westermo.com header.i=@westermo.com header.b="qwrHgVqH"; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b="bBwAv6Xd" Received: from pps.filterd (m0214197.ppops.net [127.0.0.1]) by mx07-0057a101.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AJ7rjYj023549; Wed, 19 Nov 2025 11:41:05 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=westermo.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=270620241; bh= xz7T+IhkAwmjYS2+unTQby4Q0A+w6NI7KaEKJyYYEfc=; b=qwrHgVqHHJL1dV+v 3Lxv0nGrwSiyiZTdR7ds79JHclAwrTtwdiMniYSy4f7q+Ta1IoJSfWlWnkr3JIk/ U8Rd+WM3qJcuM1TILfe7A29FGcU3cT0BVXaO8kbTaCk1EYgMv03zvblPv0TBxLdY HjZdzKhmQSVsNZG0g00TiRuyQMMcdbmjRV2jblrbDaOTi0gTc48EeHPqX8/8zVAW YNZKi2i6Hd3iVm19I8mLxPrfWzzMbds2nRGRJzncUl8X+sKxfxaFHC/AcG8sqAG8 +h0GJtriPXBSPZ26MpZg6a8XZiT4ZNay41z7dmKSeRLNC8LvkdODACqCDioFtOWl kapfuA== Received: from duzpr83cu001.outbound.protection.outlook.com (mail-northeuropeazon11022107.outbound.protection.outlook.com [52.101.66.107]) by mx07-0057a101.pphosted.com (PPS) with ESMTPS id 4agy1kgmt9-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 19 Nov 2025 11:41:05 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nu58uireuz2gaXBIeZWlp8HeJABQuHJLGxviygWQjNL9NcpaZ+7nFRmIZFsukKmP02rBfUzUcPeECXNvM8WTDqBYfifd7FG3ShTQW2XxnoYRxO/EnSxLN84riDDqQvL5t2Jku4cl4K2fA++lYGWlznsvuNdERUDxUstFuaVsrTYlM2EQSsHtt1sIuIPuw5xcRm12CCPCKC+Pu8jbJ3VBVntES4NsHnUhdP3fXsm1g5xaxFymApuBi0tBRAHF4mWy4/PWdhiSODfNbrpZrRi2RDi1t/Y40yCfZIl7UNLTDDWfI8+50sQ+VyqoKfh4oOfrXSakm4ee6iJ2P9Ta9iwzog== 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=xz7T+IhkAwmjYS2+unTQby4Q0A+w6NI7KaEKJyYYEfc=; b=kyaNjxvH4cU4Pz7ZftQQWH1MWLnKRkAaw97NwzCRRB66B+HNehLtWdskyur51kHmEkqi+fZp0+JVFkHnGF2hWdAgYod1214t3go4oUn9YJifJfoL1rRCog/8rZb0DtNtAx3LXCQ1EkyV0hlkisxMY4LLyMU0Q2ZpruW2ugizGm6POuJUUbAo9Z0pDChHX+PDP50ayFMGOp1cXtBe7WPl8FON9co7FDQBBE9U1eQjzFLrh9kSjxpUhLYQ4NmFMef/AV7FvaEHybYbOd099HMbNAohbE4X3idA1e8bu4ldYCD2Pwrjz/CkG2O8APlNS6MUcFn+OX4xkoKJMBk/A4NaGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=westermo.com; dmarc=pass action=none header.from=westermo.com; dkim=pass header.d=westermo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beijerelectronicsab.onmicrosoft.com; s=selector1-beijerelectronicsab-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xz7T+IhkAwmjYS2+unTQby4Q0A+w6NI7KaEKJyYYEfc=; b=bBwAv6XdRlZX7iveq1MppAaVFbKVsPF0JqfKUA1CVYpVA74szOyndiFSxn4oMYxtn08iOpJdAQCgJ0p2FLgCMf1oK3KgWvb/ey05+laBVZWOgD4QyRDsXpoUVJVQGBx2/poOY2JywGAx4FBDIVt+w5Wf0IbHt1sEOd+90pQ2YzU= Received: from FRWP192MB2997.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:17c::10) by FRZP192MB2437.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:137::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.22; Wed, 19 Nov 2025 10:40:18 +0000 Received: from FRWP192MB2997.EURP192.PROD.OUTLOOK.COM ([fe80::8e66:c97e:57a6:c2b0]) by FRWP192MB2997.EURP192.PROD.OUTLOOK.COM ([fe80::8e66:c97e:57a6:c2b0%5]) with mapi id 15.20.9343.009; Wed, 19 Nov 2025 10:40:17 +0000 From: Alexander Wilhelm To: Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 1/3] soc: qcom: check QMI basic element error codes Date: Wed, 19 Nov 2025 11:40:05 +0100 Message-ID: <20251119104008.3505152-2-alexander.wilhelm@westermo.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251119104008.3505152-1-alexander.wilhelm@westermo.com> References: <20251119104008.3505152-1-alexander.wilhelm@westermo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: GV3P280CA0081.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:a::21) To FRWP192MB2997.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:17c::10) 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: FRWP192MB2997:EE_|FRZP192MB2437:EE_ X-MS-Office365-Filtering-Correlation-Id: 379f1641-b740-4a68-3d08-08de2758080e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?yLDOSB1IqxqSXNv7IYQoN38TvtW5DBqVTlLDCJOiQQtrupE6GabkivjPF8WO?= =?us-ascii?Q?eb2pcDMUJ7NCjS21FvLHqeRlyakqpki1ViklfXvpLwfBetosIdwh/g6kk8nT?= =?us-ascii?Q?0mevTsle6C+GkU1RVYnktzKX97U7KYr1y4chfxmMX6JpLS5GQGUKXbkPzd51?= =?us-ascii?Q?NkZEHHp+D8vwGAEgkl6CjfuXsKV+1Nal7TxRHUh8ULKCrPWkVwQomeYFDQGg?= =?us-ascii?Q?a76VmG9Ci8W7PRgo9wzUdH6xVhpA0lHdhDFMX+KLTz2vci6OxJNx7mEc0Y9L?= =?us-ascii?Q?Pdq0GM5TMX1COamlJFoZS+HddF5TZXz7wOJagGRKqURyPU3xLO1pIZ91W45y?= =?us-ascii?Q?Gc6uRWx5WblokUxNuVJ2Xs5YQTdhkmnAdiZ5bDP5Aq2t8vNnAksHIpMlybvn?= =?us-ascii?Q?u86l6x8f0SEkE6Tzog5RkrixXYbclWNfchD02YWcHOROJ5JEc5MXxGz/giai?= =?us-ascii?Q?5oVIbphVHrHwp0BVQR0mas2fbhxGuDdImHPMGfrWmNjZy8wyal3fILWSG0CQ?= =?us-ascii?Q?X5F6zByqX8E8miXf4amWQ8E2jMsOePI0go1jKgvdw6tNsCasGX7/TRc4Cbw1?= =?us-ascii?Q?u+RbxbGUY/HiW9U44ByYuc2XfIWOVGmwYLlG+lFDY9RPx4dsHd26Awzpqx/B?= =?us-ascii?Q?MNl0irnWOocjHKs/7/lllhfAUsChBmNCcgPbxTpNHtdmd3KLQ8Xjv1SIOv7V?= =?us-ascii?Q?fxQo0lZh5ipp31WGr/9BD7K0ISkZ6EzRzWWuHQan4xBNtHYsn54ZqGVFRYWv?= =?us-ascii?Q?5UmebJ1Hp9j/jrv+5D/ClUY644N/xLphC0bXG/mw875vljfy9hsXDU/7i/6d?= =?us-ascii?Q?Zmseb+6EhgcidpJw3uAfFrKEkrr0YIlrdWAxiVHt/4g3iDZ7GJMOuI/7n6uw?= =?us-ascii?Q?xiYfPqxMcRZz1K52wx2DsVMm9qdBVFUI9soZb5/DERGPtG2dfZmVTED0GFuT?= =?us-ascii?Q?Ga9pKIFiUb1EEJTaYtiicMl8k96fcLjH5giSlxUZLGDusBg7dDMYmnNzBkcJ?= =?us-ascii?Q?Cr1gwoMBOEs5H9XMX+qIj0J9SdZqWqYfvzFgs5RQIHO+87mz93x1Drm5Y4Qb?= =?us-ascii?Q?TQttzj3suelJaj2uLDi9P8H08jtQF1ljHUV0G5iDql3Icyc1A0Yy0DBL0RDm?= =?us-ascii?Q?fWqlG0Fh/bboePjQxfpFyOKXQOFdZG95XkF4q0wzT5HSEMW3N61xBeqCXElL?= =?us-ascii?Q?ZYMleB0zkEhV8A7Nzuvxfg1Ty6W7BFIcWLa30IdsuMLzJl+64mBeXn/taJ+C?= =?us-ascii?Q?7e6OWOK7DXGv1aWDTmXd5d8cPbSwj2PfW3sA8HRU6K5asuszIz7DXpSGc9wo?= =?us-ascii?Q?mxy42T3G24ojj1xXNVaHm+eN2ycfk40aEzhwpRO+4pQ8e7l3xE+MWCpZZq8H?= =?us-ascii?Q?AdY77WX15lOSgUnxp7Tzyh7tOFUFntnicg0ZmZBqTNABxxlwcKnilHwPu/9K?= =?us-ascii?Q?92CNucL/M6Hxvmil28BOhRf3HdDSGJ+v?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:FRWP192MB2997.EURP192.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JueMZXQaT989uJummN9T4lTfuYgq/kw/jPsxYfIvg1Gc5mINSdEyK9DOOCj7?= =?us-ascii?Q?wcTIeH3VCq2FpVDCwHwoqC/rANYaaWEmrX9UY9DU9CgqgRy0CQBAvoz6NTgU?= =?us-ascii?Q?6zpI8sUu9GCHKLt2bVLUIjTcXeIJcgO0TG0l5CcGKM1PhfQQKppNKQx1Kd0P?= =?us-ascii?Q?UKIrr/YO7KEC8GNtjr9M5aN2vYrfyvxdCOhoYVYt+9CMx3I7IJ8rd5HA7QXG?= =?us-ascii?Q?0Cf9klPIWX1s18OeaI1qOGU2HwdnYuOznlFJ4emX3L3H6KkJ0903KQ3Cm5p2?= =?us-ascii?Q?Y4wqvibUicU0s27/qiREnjSoPjPlzGcNjCn8WvfXxMlRuRsYGepXyin2goDi?= =?us-ascii?Q?7/abMUEWl5mPz+bAdSJGn1LCPS1nbPPUjbXxsE6OtyuR1sixrYj7DdEnj1k7?= =?us-ascii?Q?XacCioP4OhKw7TItjEbnwBOV1V+t2vcvd/yMG7DOyuqdG2dIEQYbJi6swQta?= =?us-ascii?Q?m9Nva6CSxfvnL257bo2vJODnM5mKG/mNggX0oxMu7XPLC/+qvTjFkkn8kMrY?= =?us-ascii?Q?lNtuvjBje0N0MrZFTgeg4aS3M0y9xFxhMK3qeVNhuIKS8oWYe5qM22waifo0?= =?us-ascii?Q?gg3rEozrtrBxm+U0j8KjT8u81YZFsARb2ta7qfi9w0khQVjxlkZHh/ZdLB7G?= =?us-ascii?Q?T954rkp2sB+RsoYKPmnKh3ijfgePZ22bVGMx6jbAYebqTqjAddGHex+p1v5D?= =?us-ascii?Q?tlXX+Mjn6GgiceCpx+tUxfLVrt5nXreJVyYFa6D1WSOBWl0sgxJHJHBW31rk?= =?us-ascii?Q?QmJbVLJEq4+9mZAikn1725NiaEkre9fbazPOE36WqReykR+vvuYIwjiJwq8K?= =?us-ascii?Q?MKfRHASgxO1HluLCCJMa/aJ/6u3SoY9jKJcX4RL/2bk8F0CIVKVSQyEcXg28?= =?us-ascii?Q?y3I5ywiHxtPFcK0Yum0UM8v2bYgMzaPmqGKBTKGn+YHus2SoOXNEAh92oRAv?= =?us-ascii?Q?4JqfsOdRhtc2hil8Ipzkz694VwXPwdTkSSJoPVM804YlSFNBWwSbvaXc1vsi?= =?us-ascii?Q?W/xf5LbzlWa2PTk8LYmJExZu7F/RhEe3IbSgimXA5GPGyFRlMfXSDpfU+18X?= =?us-ascii?Q?+5c3gVSEMvSDw7OMsSBNKnYt5QO75InvFx2/zJOMqM+/aaGp8rhrr0qSWEEQ?= =?us-ascii?Q?yrevAvtU+xPjEfLZkHQBSrbRC4j27aw2iXMwrQtLUgW17he5CsJMZOCd29f5?= =?us-ascii?Q?foTWLmr0icxQrzOuh7Xg17JyzJyt7tFULYJUnsQ86Al9I1fFA1Ne1vHn2VeZ?= =?us-ascii?Q?Wxhg+UBh1TSoBUoHIGNpOA4TC4sAT64luQW6Fc5JTRyz45F5HWfgB+hTVgOg?= =?us-ascii?Q?IbirzbnwbwXgMf8iTCpeRBAE8baOA8csjpxa38sKsjlZdNf27OF3L4Pjnnvi?= =?us-ascii?Q?JSzkHZi75TftGuzDba+ENWktF0k/grsrOd5vsDcTtJG5dRzymuQgpGvJZ6lG?= =?us-ascii?Q?UB63Yi91bMmR6q56kL99uk2sW7fEwvrL0ibI3pUvBCI/+n9He1xyWPYMJUw1?= =?us-ascii?Q?xVNpf8mMnyxgYcb8ae4KK1hSy/QsSlzrWBwiUaOYMNzc6fk34r2YhHuEW4Lg?= =?us-ascii?Q?g/+zQVKXADw4SoDUZfPfRxyMcpglqF+lhwrz0tpm?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JlN3UzzY9bA+h4VUxSWj+dq4Ufaq+knfoEPHzwgjFIuO+2n76NKIrSfX3q5e7jfG8cSG0f3N7ND55Xn8tT347HNYs7NHIHtNqME8J1xaGJzEBoDKGCvMU0/ScXiZ8kPujSXEgOFkhz4qZL9am3t4mLw2ZQ8fJk0bk4Uflv7VKihZkEjffNlrSJy8hi/QA+92rtnLQ9d04D/Te160rO+y40v+PQa+dIQbQ9KJWmcOA2iqW5jPCfPEc076Ze9u8lyycxDJr1wBv5+JFlBnHtX6cujEEA6Ae39btGT5nykIwfZmo7rLl1InGd+KibOdnLT/5ClVUd2f5uhb/JtvGjFVG03HKtbKcJoj6kU+RRo+4B/f8NlQjvcHQVZZq9m+2Fj3QW09N4l2HimNza66SnX9diViQ4OoiqPCkcZogzkBt1ZfPrX3JIGRFXXE08Nciy1u8q4l5VxdCxluaMnskZ2/rqijH145/r2qKGz13wm4ZWuHPwuyD9hovdYYntHGRGHTVbNzlhihbe5AwpoAn7OzwlX/eEYrXEQDYqBV7R++hX2J4u4yRJwXjXPrOKOfHcksgLFPAMJp23vhKWMuV0BEYR6AnFmLkNxGZ4FEwRl0guSqnjNnjomr0KiDIFnei8MK X-OriginatorOrg: westermo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 379f1641-b740-4a68-3d08-08de2758080e X-MS-Exchange-CrossTenant-AuthSource: FRWP192MB2997.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2025 10:40:17.9331 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4b2e9b91-de77-4ca7-8130-c80faee67059 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HGN/LQL1v47TerbTnnIiU+KeWOBBL3Cx6C6oFjuqVcC+sdq4UgzbJGKlafGe+qCQZmHGULwZVG/nqgr7MXI80Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZP192MB2437 X-MS-Exchange-CrossPremises-AuthSource: FRWP192MB2997.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossPremises-AuthAs: Internal X-MS-Exchange-CrossPremises-AuthMechanism: 14 X-MS-Exchange-CrossPremises-Mapi-Admin-Submission: X-MS-Exchange-CrossPremises-MessageSource: StoreDriver X-MS-Exchange-CrossPremises-BCC: X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 104.151.95.196 X-MS-Exchange-CrossPremises-TransportTrafficType: Email X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating;SFV:NSPM;SKIP:0; X-MS-Exchange-CrossPremises-SCL: 1 X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: FRZP192MB2437.EURP192.PROD.OUTLOOK.COM X-Proofpoint-GUID: DcunRvq_yHwoDsz-9Zf4eXa0oe2xf-b3 X-Authority-Analysis: v=2.4 cv=Ob+VzxTY c=1 sm=1 tr=0 ts=691d9ec1 cx=c_pps a=F9hHg8DDxxB1WqAIGSG/Rg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=6UeiqGixMTsA:10 a=8gLI3H-aZtYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=N9GNhs4bAAAA:8 a=Z2VYdKDLklew4aR_wbMA:9 a=PZhj9NlD-CKO8hVp7yCs:22 X-Proofpoint-ORIG-GUID: DcunRvq_yHwoDsz-9Zf4eXa0oe2xf-b3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE5MDA4NCBTYWx0ZWRfX7wnpgSDObsYA iU3pPYXCFFng8Gd7VSy5PqSzbyiIYC/kAanq/rF8hR9YNZl18eEMASWLn/PSyTZ+coHThjoHY+h GjE3qV9jd4wnowaKoXH6qxxF5Wepjcg6Zcu4h2ROI4BmcQVyiWPJ6p3WRGAC0xGleh26rCXO7Z+ dvs5p1cvkQYSxVYBU6bl1kpaMLpb09arLsH+NOztbsRiPWrbPI5Ja9ASjb4FnCk9dxiJvgHPg5h EJ3gXXjWFhmUqN3p16eVLO2fUpvddOJmlIFs2jXzL0SWF72iiAB4N1ki/bH6mmkg1WtloO6ilI1 /AdxqBz0TpbtXDQihD/dX6L6hkvWIfKJSKVVdhp/h+TOsF/eDSwfoJ4q1ATcDg4GftXt1Kl1CSn Ja0KU2rbzCHmHSjbkcY9njGj62NMZQ== Content-Type: text/plain; charset="utf-8" Extend handling of QMI basic element types to also capture error codes. This is required for big-endian platforms where a simple memcpy is not sufficient and exact data type knowledge is necessary. Signed-off-by: Alexander Wilhelm --- drivers/soc/qcom/qmi_encdec.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/soc/qcom/qmi_encdec.c b/drivers/soc/qcom/qmi_encdec.c index 7660a960fb45..1d2d9e515870 100644 --- a/drivers/soc/qcom/qmi_encdec.c +++ b/drivers/soc/qcom/qmi_encdec.c @@ -267,11 +267,15 @@ static int qmi_encode_string_elem(const struct qmi_el= em_info *ei_array, } rc =3D qmi_encode_basic_elem(buf_dst, &string_len, 1, string_len_sz); + if (rc < 0) + return rc; encoded_bytes +=3D rc; } =20 rc =3D qmi_encode_basic_elem(buf_dst + encoded_bytes, buf_src, string_len, temp_ei->elem_size); + if (rc < 0) + return rc; encoded_bytes +=3D rc; =20 return encoded_bytes; @@ -333,6 +337,8 @@ static int qmi_encode(const struct qmi_elem_info *ei_ar= ray, void *out_buf, case QMI_OPT_FLAG: rc =3D qmi_encode_basic_elem(&opt_flag_value, buf_src, 1, sizeof(u8)); + if (rc < 0) + return rc; if (opt_flag_value) temp_ei =3D temp_ei + 1; else @@ -354,11 +360,15 @@ static int qmi_encode(const struct qmi_elem_info *ei_= array, void *out_buf, data_len_value =3D (u32)val8; rc =3D qmi_encode_basic_elem(buf_dst, &val8, 1, data_len_sz); + if (rc < 0) + return rc; } else { val16 =3D *(u16 *)buf_src; data_len_value =3D (u32)le16_to_cpu(val16); rc =3D qmi_encode_basic_elem(buf_dst, &val16, 1, data_len_sz); + if (rc < 0) + return rc; } UPDATE_ENCODE_VARIABLES(temp_ei, buf_dst, encoded_bytes, tlv_len, @@ -386,6 +396,8 @@ static int qmi_encode(const struct qmi_elem_info *ei_ar= ray, void *out_buf, rc =3D qmi_encode_basic_elem(buf_dst, buf_src, data_len_value, temp_ei->elem_size); + if (rc < 0) + return rc; UPDATE_ENCODE_VARIABLES(temp_ei, buf_dst, encoded_bytes, tlv_len, encode_tlv, rc); @@ -544,10 +556,14 @@ static int qmi_decode_string_elem(const struct qmi_el= em_info *ei_array, if (string_len_sz =3D=3D sizeof(u8)) { rc =3D qmi_decode_basic_elem(&val8, buf_src, 1, string_len_sz); + if (rc < 0) + return rc; string_len =3D (u32)val8; } else { rc =3D qmi_decode_basic_elem(&val16, buf_src, 1, string_len_sz); + if (rc < 0) + return rc; string_len =3D (u32)val16; } decoded_bytes +=3D rc; @@ -565,6 +581,8 @@ static int qmi_decode_string_elem(const struct qmi_elem= _info *ei_array, =20 rc =3D qmi_decode_basic_elem(buf_dst, buf_src + decoded_bytes, string_len, temp_ei->elem_size); + if (rc < 0) + return rc; *((char *)buf_dst + string_len) =3D '\0'; decoded_bytes +=3D rc; =20 @@ -667,10 +685,14 @@ static int qmi_decode(const struct qmi_elem_info *ei_= array, void *out_c_struct, if (data_len_sz =3D=3D sizeof(u8)) { rc =3D qmi_decode_basic_elem(&val8, buf_src, 1, data_len_sz); + if (rc < 0) + return rc; data_len_value =3D (u32)val8; } else { rc =3D qmi_decode_basic_elem(&val16, buf_src, 1, data_len_sz); + if (rc < 0) + return rc; data_len_value =3D (u32)val16; } val32 =3D cpu_to_le32(data_len_value); @@ -701,6 +723,8 @@ static int qmi_decode(const struct qmi_elem_info *ei_ar= ray, void *out_c_struct, rc =3D qmi_decode_basic_elem(buf_dst, buf_src, data_len_value, temp_ei->elem_size); + if (rc < 0) + return rc; UPDATE_DECODE_VARIABLES(buf_src, decoded_bytes, rc); break; =20 --=20 2.43.0 From nobody Tue Dec 2 02:20:19 2025 Received: from mx07-0057a101.pphosted.com (mx07-0057a101.pphosted.com [205.220.184.10]) (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 3789B34DB46; Wed, 19 Nov 2025 10:41:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.184.10 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763548891; cv=fail; b=W+bgVlyE7YdJPzwdM0Hb/IwozCJrdc+5iZq283WTigAq8wRtYZIXwlivyJlQmO6u15yT3xvIK+wzP6bh2jgPbfAZJgloSpxMvRpGY3rowdOd7X24ycSMKIZ3jXzMn8CbNnsNIt5NHz62T9DXDJDRzzXohdzpBWcKMCA9i1loUM4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763548891; c=relaxed/simple; bh=dlh/7u61lUl0XToqTBjJEd1F5SgiTrSp/1Pdzc3LIag=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=AQ1+a7Zt/+VLBpsp2Bdt8bBMiUc8iZ5R9R/JUbuU7xCl2GKv88V3Bxb58mLMcrRFHjrz0VVpGxuIqkcKAUoLHXVN0RG/d5MdBhYowCg1fUjQeTaR9eN+QC+cbaOsN0bSRs6rHDVE9C0B37b4zjiiC70rgQ30SBzBtTA20ExL5Ls= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=westermo.com; spf=pass smtp.mailfrom=westermo.com; dkim=pass (2048-bit key) header.d=westermo.com header.i=@westermo.com header.b=Z1lblbrH; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b=mxC/IcqQ; arc=fail smtp.client-ip=205.220.184.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=westermo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=westermo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=westermo.com header.i=@westermo.com header.b="Z1lblbrH"; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b="mxC/IcqQ" Received: from pps.filterd (m0214197.ppops.net [127.0.0.1]) by mx07-0057a101.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AJ7rjYk023549; Wed, 19 Nov 2025 11:41:06 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=westermo.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=270620241; bh= 6A4YYrrSLoo2GpFNi7lJN9J5On19wX794u0X6I8tptE=; b=Z1lblbrH7eL9JNL0 xI/i1On4TMAhRHotyQlBJR9tmgmVtug1w4xn2vsF1PMJQbfIv/jQr1JOLVYYwQJc NaMH7nFWz2Ds8qnIKMYlrZTmf6FjtvXhxlEX9X3AGw91Il6Gm/AzO4w+5rUqezah 7i04v/BqYuyPp371euSTapsr+nslbzZZhOjxdwevelnroV1guiTAZ8wKwW+9L79D wAC2U2X8b3wNckbn3TL64P1/4Qhial6NLXI40SJftFD1Xl4O/yQ689e4GYncotVc s6SG+nwwt2ATcnCxQ+rP/ES7n9ITzZmtqzYVgsox0vrF+ipSdcCVc//bJFxaLeaG GoPQug== Received: from duzpr83cu001.outbound.protection.outlook.com (mail-northeuropeazon11022107.outbound.protection.outlook.com [52.101.66.107]) by mx07-0057a101.pphosted.com (PPS) with ESMTPS id 4agy1kgmt9-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 19 Nov 2025 11:41:06 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ni03GuoWCGwhf0lqvrk1PPHgliV1uxwYJuZdwz03xJekw5BSsQ1sixEmf+T6qp9mnPziBeSBRpyBn8vHreSsoMCRk/9zLx+qC/70x7bhAycwMLe04nzzdQL+Yj+OF9QLI9BmJnPm5IW0azctJNloKg1q+pDCLGbthfTjNL/sbHxxLbnBbseXJg6F5Axq+GpEMfl52Ew1Sh4eeflN5oFCpPaMl9zTlirXycqkvVOk8aU6BmfoK6iBgws+1jIDFU4BDtEMTySSPnn9TVcXILLEe7JpJPlK5myyAok6gce3FvH2kRX7/BUhCa+QagRJ+DIS250+UQQeLCqyKGuH87FKwA== 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=6A4YYrrSLoo2GpFNi7lJN9J5On19wX794u0X6I8tptE=; b=iPJ9dSctZGPOc5ft4gi1hJfu4oy1f1NRcJFkVbBqLTvMCtmRgwbyyhfzjswkcyXKVuo9LdgVn0ljzntCNfxoPNwmagO5R1CpMzygqe3KaNmra8L4lXCA7E9sJ5GMPWiUIGb9MKFbfi4a5Erpznvy2dUYHtH79OlaUZ/0qrrvVASd9yC7D6POfqmGMhsAlFZEHR7/IPL0lcsx+6QlKuk0YRb9TvqIntPupc+JgUMCMbO2U9v+0AkvoW1P1lW8oe9UdpgaGIZ3LuVKOQU6ErTgf1BPnY+UCiWnDA/hQxyLR5+8kPjfCy+W/nA5lwELuouPjSzDgOFNJ1mMsRWYVs0leQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=westermo.com; dmarc=pass action=none header.from=westermo.com; dkim=pass header.d=westermo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beijerelectronicsab.onmicrosoft.com; s=selector1-beijerelectronicsab-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6A4YYrrSLoo2GpFNi7lJN9J5On19wX794u0X6I8tptE=; b=mxC/IcqQYwn3b5WD63cR2WLYQnwfXMiAIZ9sI/yH2xd2psASgxSLJoYVND0kfZAzmqeqDYXixPK5b/IBfyeI29BPTXfpPIyK8jwzKZdD71hFiSHqGeGLhWh6Vq+fHYdHjXsIDtL7X/56VthCI9vbr6zXSRXZKZIp6cLheZbR/pg= Received: from FRWP192MB2997.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:17c::10) by FRZP192MB2437.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:137::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.22; Wed, 19 Nov 2025 10:40:19 +0000 Received: from FRWP192MB2997.EURP192.PROD.OUTLOOK.COM ([fe80::8e66:c97e:57a6:c2b0]) by FRWP192MB2997.EURP192.PROD.OUTLOOK.COM ([fe80::8e66:c97e:57a6:c2b0%5]) with mapi id 15.20.9343.009; Wed, 19 Nov 2025 10:40:19 +0000 From: Alexander Wilhelm To: Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Dmitry Baryshkov Subject: [PATCH v5 2/3] soc: qcom: fix QMI encoding/decoding for basic elements Date: Wed, 19 Nov 2025 11:40:06 +0100 Message-ID: <20251119104008.3505152-3-alexander.wilhelm@westermo.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251119104008.3505152-1-alexander.wilhelm@westermo.com> References: <20251119104008.3505152-1-alexander.wilhelm@westermo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: GV3PEPF00002E61.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::24) To FRWP192MB2997.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:17c::10) 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: FRWP192MB2997:EE_|FRZP192MB2437:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ded24c9-d640-4409-2fae-08de27580919 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?zhi51TuND9F8JZif9352ZyHFYJuqO76pWqbjkxJ/mIzMiIMrJTlrpBj2qqkM?= =?us-ascii?Q?5noZ3eBogX/RZZlP8d0h0nPrFryn4/vu6O72HsIXJ+VyMg0AS0pQ5pOdQ+Vw?= =?us-ascii?Q?FzOBrJ0w+RIYxfirseLorxf/6Lv1hurTAJFox5bSAYkRh4yeHDFlzf/kwP4n?= =?us-ascii?Q?z5bS50kjEIJzgD1jlLv4eQJ+h6skp1XkKZSri1eII9yFzvJngApaxv0tNLNt?= =?us-ascii?Q?x64KCTiQmmcpBmjBgUZy12RBnXhRS5Utv5NqfekTr1a/KmCvZplLPlCTkiAH?= =?us-ascii?Q?TXH3mFptYAdzTEiq/f8qRjYhUgRyQXe4LgW1c1Df+MtlrBg1CiK+dunftN+5?= =?us-ascii?Q?tVaPiIDDWRD+sWcwrbqyhY+pmjXlLvDi40MpA8YOoVdDW4g4gAX5PN0gKn45?= =?us-ascii?Q?ZP8B1INkMUvP0BEVJICACDAj+WMqPDNuWniqMjG5fqB8OUbvaCE9vvqGM9RO?= =?us-ascii?Q?gem8zJ+6uX350mm6S8ysstNfnqYYTOWrlK4EEOT3UqwboTsMzUspTb8dO+7C?= =?us-ascii?Q?AgvlzZlzoVUx4IB1lpkN29HC0oM0lw+TawGeoLgInmhdc50NW0R7FR9unL/j?= =?us-ascii?Q?/qmQf7ldUj860IWn+VKGRW44TU6yd2eFLA6A7YfDQwRHSCtYBKq7LdQE5xyK?= =?us-ascii?Q?uYC7itWO2XJlSng87XSJfaFAmjMOQTkBWrAGZIY7zKKs9Lkf+ix+rk6Hvl4U?= =?us-ascii?Q?HA/Jr9DkQVEH6pnNliS/8QOxi54HIzgeoPdvp/WkOIOgfDHwWowVap9uXRxz?= =?us-ascii?Q?EWskI+yAos1y3ByOD3irsbVgXhscLCOWue+er31xMjIVI825C1VAsel7DHnn?= =?us-ascii?Q?2uR+6h+3cd6TZ363cnJLzH0n/wA5SnIJXxqIuIdTz6OtgMXjncaH0nQIgQvf?= =?us-ascii?Q?etXEraZL85ZhmeWGXNJ58Ia9oMxupW0J/O4z1mr0Yb9EFv9mRKu+QPCDxA2b?= =?us-ascii?Q?HzA2/iYvxL/DAU+967zL2T9oS2IhS2rHjFUQ1GL7XjU9buciVGL/I7RgQR4P?= =?us-ascii?Q?ldv5VI7FzSZOfU1DXymdFlvIXvuAsbw6v07VEQdFa7kNJNRFCtmJVmC61loJ?= =?us-ascii?Q?kyKRZ4un3euka1C+plMpxEk+bJp4iJQKp2BgX+RpFcslQI63YI6atkowPPby?= =?us-ascii?Q?nZwp6rLnYefuc9fo3iQ0wh5arjQurPD06B9eB5GKd0Akq8mtpOH6HbDvGb11?= =?us-ascii?Q?OmayL5BC94OF4FM+HIaC+oPuphpjmwEVvUsui0zOAieUa+GDMqKixWj+kUAJ?= =?us-ascii?Q?Dngkal6F3/KE5z1o3loHqrvI2D2eJfsp3hcHo/DXvVK0sg/JBKjj+ICOiw6G?= =?us-ascii?Q?cKR8vRyNy0fFMzi1xJL6HAjAgnPpPcaPLmQcKmRk9ZXMMzaZF6+oXjEqgsLS?= =?us-ascii?Q?N9eixYPNcTwIXB7lSllXezcbx+UhnqhKycYfk6otxQlbQrcfkOmMDg50qSkI?= =?us-ascii?Q?FL0TiOYPSDVpvHZNMvFlsuHejN0vGebM?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:FRWP192MB2997.EURP192.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?j/hs3gh2VLFoTftQKBjhROQLfN/DBct9ALmnon+fb01T99B4u7TTsnqqcIAW?= =?us-ascii?Q?JA4jdB29tG3KXO0Kwb+tITTY31D80UHv6MSyF22UxiAeCplcM2Gmwf/PwIyb?= =?us-ascii?Q?9TZlL0vDEhtTVnDtOJBwKn3xKfS2oQ3TW7HkufO8yzPQaqHZY4NLMG7SGotp?= =?us-ascii?Q?8oulZC4lsrTAABijLn/ivvWPklOmagHBPljWq5g9QLlEEp2UPNPe3Q9EaumQ?= =?us-ascii?Q?5Y/6//Nut/00vMmYRWlG2NWwqaz0UUL66qYk/AQq+5DacXuiQYXDM6HBj2UG?= =?us-ascii?Q?7KDe+r8Wt2tpuHwBvyT2YUagO/dso0p1AkYPeQEmqlZg5JFMDK2DEEARWZgr?= =?us-ascii?Q?Oa6js4Wn73P2oBDOi++z5Eu5PgE2q/iBpoo48uQhJlZMyq3WqoSMEki7b5TE?= =?us-ascii?Q?36lbscMPWfkQTccT3x04yAGDnGmZ4KD+Ug0D9Jcizk0c83o6qWdhK9CI6I6z?= =?us-ascii?Q?QUV8+IHMeMtCQMYUNoKYuCCAOr70cDZZqlqkmPp/Grz8MDtqg7+QEA1L7gFT?= =?us-ascii?Q?7zg+9cYGvwOxrStbXUpl9/0RdcR8RflScQJYSazybIx3IBZZHAeNs27xdMSg?= =?us-ascii?Q?wHBsScs5Vmon/dDZbdh9tDlGwPrvxiqX1Rc0y5rnGQo7yXooCYDmULFo4pIe?= =?us-ascii?Q?r3L9YzCzSVxfY2BIQeyYsOw0fNOLeX+PCwkgTk8IYXKSu6rks7LnzSIsHfKO?= =?us-ascii?Q?+8ipOQa2eE/PY++LXNrmlvBgj42O1tVnWQFwmNQMdOcEVxTOSVP9I3DIFcTB?= =?us-ascii?Q?xK1t3iBVtOFlGeih+Fd272PHSnexW2HKJtJRbQge19Vh3P6f47Z0Wo5Iska7?= =?us-ascii?Q?XmFLXUJtC8PUTKj5Aht2WQXNucmnt1OJx1Km9Kl3wSdj+CXDZxSurVTsIEV/?= =?us-ascii?Q?kS7F1AbiLMqOq0am32STtAgV1awOZrHlr154mtunsPofejVSgepgO5WkvIxq?= =?us-ascii?Q?b7Q02mLjttXkhuBvhxi4YyCB4knQPUJuE4HaC3S7U/0M1h+ZQTr8LKZUnqRE?= =?us-ascii?Q?bXxuBAW1UtltMgcvUT4MpMRiG6mHxIq6KDcIYAzAADA+O/xUtOmFxG4kmME2?= =?us-ascii?Q?0HtU0ND7f7U+2PijdetwUZT6QL2SxbxKe+TEOclycuLvD3eebgLwsR5dr3BS?= =?us-ascii?Q?Z50FhXIOjjs6YRwrwwEeDzO56tVRWIvN/Y5uQw23y5fM07WnToBGU6bzrZlv?= =?us-ascii?Q?AJuo+eXtZnhUKmVTeOLjE7LlVzBczrY+X/NsWT0aqIOFF9VynoU2sQX2cQfT?= =?us-ascii?Q?r2z6plmL9uaGJKXOY7bXGnkVJIkvHIuYUJvXgdQTRNsRv2gyz5iiAKiXTrdt?= =?us-ascii?Q?10syOBNRZxzBgv1BCodrub2q9V0w9D7dHmIp2koOJBLAKeTUo/dv7P7xEfQG?= =?us-ascii?Q?Gaqp8Rz/TBrKOV2A8Jtx3KTonKByxvG3rVifQUTeDutV7GbGc5dcwQ9JdHb4?= =?us-ascii?Q?EVsErv6wlBSqLBbReP3vZz1rqUyKxFXkeVUYTDZAtLAGc4+2rnvLSY1AKujF?= =?us-ascii?Q?THgzETvPmuOABeh5IQDxKQLlvoyv+JrK2MoVLg5+me3Y4iB0Fpg3SxYtdfXZ?= =?us-ascii?Q?+lqvEEwrb6aSvT4ua23d74TWxXYVDuVAz7f2ctRw?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dLcQp1FA5TTlnGtm01cVf1mTopmLwSlLTeVK2fW4fBPP9h4/k6w2Kl6+foz9YPIKDDXPAXjBbcfgwh38BAhyUarAUpYPyDgUUjqE0h4tFgKKyb0VEuYE62QUZe8RtXKn4f2MD/S3Eeql1dODbJ440apZtW7bk6+zPHZqkqVLEb1So8MCqCev14ph1gVsfVD5iWQIjR4RpYPntk22mteA0JDH2PvNdpkYP/Vj6vUQNcQhZykLXc7H9n+6JsIAcIc2C9Dxzbogfa/jw2eJpYgcbqiOBV2B9nHTX7AbYMy8mxKLHxn1NqIPiXgwzAQo23Da9KaRAfQ/OBb/ddCjx5MKB+lBjD9tG4m4tixvp+AGGaG3JkatvjfvUadtQL3xcBOh0N2QG3CM961pOLLRyk0sHIxylwYpotsAb9UDYZS6Em8GY/ooZDTRuA6cSWi4jxUTZijvudO+wgfd8pQvVNKr7ftDSy/cXrfAjgTVu33+TZhmA1p52dBMQwYuA//URQsIK64xJjhv1CIEjSGYsCcspaj1pxN0c+Nxu6GEqnZLe2UhLpKVd8djgun08SHnyrcXJWdjWnNm5jzuVd0JDXfwNrSAKobKKN4OJJ4ny/0AcdF4QGj+nilibCf/xfcKVkqf X-OriginatorOrg: westermo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ded24c9-d640-4409-2fae-08de27580919 X-MS-Exchange-CrossTenant-AuthSource: FRWP192MB2997.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2025 10:40:19.6813 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4b2e9b91-de77-4ca7-8130-c80faee67059 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Be8rWp1y69AI7Cw+qug9oAZrHQn0ORph2KlhRo/zJZOrVjvuNhkOQauUANsszQrzkANg4H/Rrc3ZAZxQLpVkmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZP192MB2437 X-MS-Exchange-CrossPremises-AuthSource: FRWP192MB2997.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossPremises-AuthAs: Internal X-MS-Exchange-CrossPremises-AuthMechanism: 14 X-MS-Exchange-CrossPremises-Mapi-Admin-Submission: X-MS-Exchange-CrossPremises-MessageSource: StoreDriver X-MS-Exchange-CrossPremises-BCC: X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 104.151.95.196 X-MS-Exchange-CrossPremises-TransportTrafficType: Email X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating;SFV:NSPM;SKIP:0; X-MS-Exchange-CrossPremises-SCL: 1 X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: FRZP192MB2437.EURP192.PROD.OUTLOOK.COM X-Proofpoint-GUID: 4JPsBO_un8m0XTfaXelpIzZfh2ewSzgh X-Authority-Analysis: v=2.4 cv=Ob+VzxTY c=1 sm=1 tr=0 ts=691d9ec2 cx=c_pps a=F9hHg8DDxxB1WqAIGSG/Rg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=6UeiqGixMTsA:10 a=8gLI3H-aZtYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=N9GNhs4bAAAA:8 a=EUspDBNiAAAA:8 a=1BtGkfvxpQeA6YN4xrIA:9 a=PZhj9NlD-CKO8hVp7yCs:22 X-Proofpoint-ORIG-GUID: 4JPsBO_un8m0XTfaXelpIzZfh2ewSzgh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE5MDA4NCBTYWx0ZWRfXwpo3g4nSMDnB 9d5QtwDIAi22D3z4mWxO80WfIW0tWApfncEPUT7aTdP79LErS2j/gmhaTeGfm1WPlVnodBeUFIy +6HeTPE0k5PfuiLh034j6re0tBJl2gI1Bd461WGHtrLNq4vQeMI464hmUJmAo3KDM83v+d7GT7u QaVTdko1yt7licPozWteSKN2yGUz8rWUHKow64FbUWH6qD8IpO455n2joo0dRgtxJTKYKWzD4Ax oFkguiTbAyK/Ow4x6H7Q9nHAG7hHf8PKLEwMEczA8/us9pu8/vqktL07xR5X53z3JnA2bgselmo 52L2zsMfRLuSZGDiR/PFsMPrpEgbretuzXj3z5XxE6IP7fz2QtWT+W73N+x3Xn464QE00siRmAN firwRx/nN+9DH6/qo1V3oy3yWhiyXQ== Content-Type: text/plain; charset="utf-8" Extend the QMI byte encoding and decoding logic to support multiple basic data type sizes (u8, u16, u32, u64) using differnet macros for each type. Ensure correct handling of data sizes and proper byte order conversion on big-endian platforms by consistently applying these macros during encoding and decoding of basic elements. Signed-off-by: Alexander Wilhelm Reviewed-by: Dmitry Baryshkov --- drivers/soc/qcom/qmi_encdec.c | 102 ++++++++++++++++++++++++++++++---- 1 file changed, 90 insertions(+), 12 deletions(-) diff --git a/drivers/soc/qcom/qmi_encdec.c b/drivers/soc/qcom/qmi_encdec.c index 1d2d9e515870..030b18fa086a 100644 --- a/drivers/soc/qcom/qmi_encdec.c +++ b/drivers/soc/qcom/qmi_encdec.c @@ -23,18 +23,60 @@ *p_length |=3D ((u8)*p_src) << 8; \ } while (0) =20 -#define QMI_ENCDEC_ENCODE_N_BYTES(p_dst, p_src, size) \ +#define QMI_ENCDEC_ENCODE_U8(p_dst, p_src) \ do { \ - memcpy(p_dst, p_src, size); \ - p_dst =3D (u8 *)p_dst + size; \ - p_src =3D (u8 *)p_src + size; \ + memcpy(p_dst, p_src, sizeof(u8)); \ + p_dst =3D (u8 *)p_dst + sizeof(u8); \ + p_src =3D (u8 *)p_src + sizeof(u8); \ } while (0) =20 -#define QMI_ENCDEC_DECODE_N_BYTES(p_dst, p_src, size) \ +#define QMI_ENCDEC_ENCODE_U16(p_dst, p_src) \ do { \ - memcpy(p_dst, p_src, size); \ - p_dst =3D (u8 *)p_dst + size; \ - p_src =3D (u8 *)p_src + size; \ + *(__le16 *)p_dst =3D __cpu_to_le16(*(u16 *)p_src); \ + p_dst =3D (u8 *)p_dst + sizeof(u16); \ + p_src =3D (u8 *)p_src + sizeof(u16); \ +} while (0) + +#define QMI_ENCDEC_ENCODE_U32(p_dst, p_src) \ +do { \ + *(__le32 *)p_dst =3D __cpu_to_le32(*(u32 *)p_src); \ + p_dst =3D (u8 *)p_dst + sizeof(u32); \ + p_src =3D (u8 *)p_src + sizeof(u32); \ +} while (0) + +#define QMI_ENCDEC_ENCODE_U64(p_dst, p_src) \ +do { \ + *(__le64 *)p_dst =3D __cpu_to_le64(*(u64 *)p_src); \ + p_dst =3D (u8 *)p_dst + sizeof(u64); \ + p_src =3D (u8 *)p_src + sizeof(u64); \ +} while (0) + +#define QMI_ENCDEC_DECODE_U8(p_dst, p_src) \ +do { \ + memcpy(p_dst, p_src, sizeof(u8)); \ + p_dst =3D (u8 *)p_dst + sizeof(u8); \ + p_src =3D (u8 *)p_src + sizeof(u8); \ +} while (0) + +#define QMI_ENCDEC_DECODE_U16(p_dst, p_src) \ +do { \ + *(u16 *)p_dst =3D __le16_to_cpu(*(__le16 *)p_src); \ + p_dst =3D (u8 *)p_dst + sizeof(u16); \ + p_src =3D (u8 *)p_src + sizeof(u16); \ +} while (0) + +#define QMI_ENCDEC_DECODE_U32(p_dst, p_src) \ +do { \ + *(u32 *)p_dst =3D __le32_to_cpu(*(__le32 *)p_src); \ + p_dst =3D (u8 *)p_dst + sizeof(u32); \ + p_src =3D (u8 *)p_src + sizeof(u32); \ +} while (0) + +#define QMI_ENCDEC_DECODE_U64(p_dst, p_src) \ +do { \ + *(u64 *)p_dst =3D __le64_to_cpu(*(__le64 *)p_src); \ + p_dst =3D (u8 *)p_dst + sizeof(u64); \ + p_src =3D (u8 *)p_src + sizeof(u64); \ } while (0) =20 #define UPDATE_ENCODE_VARIABLES(temp_si, buf_dst, \ @@ -161,7 +203,8 @@ static int qmi_calc_min_msg_len(const struct qmi_elem_i= nfo *ei_array, * of primary data type which include u8 - u64 or similar. This * function returns the number of bytes of encoded information. * - * Return: The number of bytes of encoded information. + * Return: The number of bytes of encoded information on success or negati= ve + * errno on error. */ static int qmi_encode_basic_elem(void *buf_dst, const void *buf_src, u32 elem_len, u32 elem_size) @@ -169,7 +212,24 @@ static int qmi_encode_basic_elem(void *buf_dst, const = void *buf_src, u32 i, rc =3D 0; =20 for (i =3D 0; i < elem_len; i++) { - QMI_ENCDEC_ENCODE_N_BYTES(buf_dst, buf_src, elem_size); + switch (elem_size) { + case sizeof(u8): + QMI_ENCDEC_ENCODE_U8(buf_dst, buf_src); + break; + case sizeof(u16): + QMI_ENCDEC_ENCODE_U16(buf_dst, buf_src); + break; + case sizeof(u32): + QMI_ENCDEC_ENCODE_U32(buf_dst, buf_src); + break; + case sizeof(u64): + QMI_ENCDEC_ENCODE_U64(buf_dst, buf_src); + break; + default: + pr_err("%s: Unrecognized element size\n", __func__); + return -EINVAL; + } + rc +=3D elem_size; } =20 @@ -456,7 +516,8 @@ static int qmi_encode(const struct qmi_elem_info *ei_ar= ray, void *out_buf, * of primary data type which include u8 - u64 or similar. This * function returns the number of bytes of decoded information. * - * Return: The total size of the decoded data elements, in bytes. + * Return: The total size of the decoded data elements, in bytes, on succe= ss or + * negative errno on error. */ static int qmi_decode_basic_elem(void *buf_dst, const void *buf_src, u32 elem_len, u32 elem_size) @@ -464,7 +525,24 @@ static int qmi_decode_basic_elem(void *buf_dst, const = void *buf_src, u32 i, rc =3D 0; =20 for (i =3D 0; i < elem_len; i++) { - QMI_ENCDEC_DECODE_N_BYTES(buf_dst, buf_src, elem_size); + switch (elem_size) { + case sizeof(u8): + QMI_ENCDEC_DECODE_U8(buf_dst, buf_src); + break; + case sizeof(u16): + QMI_ENCDEC_DECODE_U16(buf_dst, buf_src); + break; + case sizeof(u32): + QMI_ENCDEC_DECODE_U32(buf_dst, buf_src); + break; + case sizeof(u64): + QMI_ENCDEC_DECODE_U64(buf_dst, buf_src); + break; + default: + pr_err("%s: Unrecognized element size\n", __func__); + return -EINVAL; + } + rc +=3D elem_size; } =20 --=20 2.43.0 From nobody Tue Dec 2 02:20:19 2025 Received: from mx08-0057a101.pphosted.com (mx08-0057a101.pphosted.com [185.183.31.45]) (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 AE33434DB55; Wed, 19 Nov 2025 10:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.183.31.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763548891; cv=fail; b=Xo5PMWuWwzibfWhKwWN1D6pgXC2hmMpfVKDBzml6Vyj3Nf5QiE+43lofHsqCGHmV24A3URClNLqWiWA4rk/ergAFxgI5vTQm3WBWrYXUyES7lX+l7gCPIxEyHXbjCjjHrMSVlvpvuI/N6dQ9Bdee5LsjMZQsY6sEUNgQK+bHD8k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763548891; c=relaxed/simple; bh=NZ+vY3bKXwgLHirbUr2sU/MeTGZTQdvx20wDR5s5wRM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=kvaX5Q9QhBS05GLHCh+lqAu9seoXPGmTXkcxQd11ojo5fyq66Q1jrhAXryKNrBuIyj45w92XZ2jpHRHJhkBj/hwZmtcVe3UIndrsW2AWtL+w6FXOhSc0s5puzsH7NJN/ldTPZm1ASvOwRWUL1s83tl1ReWc4FqSzwkj6L/ObVWU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=westermo.com; spf=pass smtp.mailfrom=westermo.com; dkim=pass (2048-bit key) header.d=westermo.com header.i=@westermo.com header.b=mQTUCSKA; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b=N08pxm7F; arc=fail smtp.client-ip=185.183.31.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=westermo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=westermo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=westermo.com header.i=@westermo.com header.b="mQTUCSKA"; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b="N08pxm7F" Received: from pps.filterd (m0214196.ppops.net [127.0.0.1]) by mx07-0057a101.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AJ7sGDl3973464; Wed, 19 Nov 2025 11:41:08 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=westermo.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=270620241; bh= dRz6DTGDNQi+HXGc9yfmoU+uIsdDCQPdx2IITVpD19o=; b=mQTUCSKAu3VfXtaT ahvEbCIxWDe+iAMTWX+/P7p+/Tz2nPPTmvi/HXVKWE4lXH9Po0GPoo0dyYgXKkZ/ HexLr6M6wlOcYrFDjfqGtsLa/ChmbxVe8qbeOFoyJIw99tPzfPqqLq7v6DIeqTLU t3YS39graD4zWbpNHi4HtPFyx4Ab3w5Z4zNYTjOis7uTamKY/wu7TMI7203cYSfc ZrYgFSnjuuywSyj5RFo1xKhTHOnJoEhSqU/pj3tukG2GrTkzPUCmUneCp0e7gclx iFvwZOwcBBut7UB/mOEQpgKBl+iFtCkP/wZ+marxEEButrZQJXWzQ1rKBwdpTvrE zpn5Aw== Received: from duzpr83cu001.outbound.protection.outlook.com (mail-northeuropeazon11022097.outbound.protection.outlook.com [52.101.66.97]) by mx07-0057a101.pphosted.com (PPS) with ESMTPS id 4aeed53u6y-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 19 Nov 2025 11:41:07 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fRr6Jgh3TJ8GVZXdaWnBeEFcgltISNT2JE+p5/oIZRwGWHB2WYJ3EpFsq02FsoBgM9JkqgyMregbREaP8NEJhtLf+hRd/JjoQfrI/5gG4cg0MxI2xcpKNErXG9kN1Lsgn6byWsesS2VxUSvW8B4IPvVrkvjwBNjQdMaZuYCFhIAsNUZUXijL+F0M54S2KeX8RDkPXLLmL3j9JaqkFh6MpvlnDXMb5o7o0tAyC/sICswV7pwPcVX8+fms5tRcCa5pJrYstxs2Z2HQZ+2TxdAq+mjEA9y8lXdNKI24RETwnqEjADZlMElykOCmbgmtUnys1dYPrBnekY2AHIpr8vsaGg== 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=dRz6DTGDNQi+HXGc9yfmoU+uIsdDCQPdx2IITVpD19o=; b=IJFIKizuYcrNUoxOgc9+0pQDiBlEXX+1mqFs9ICZLatRgRFULhidaF7qwGgMQ0HQGDsCGzWNmgXp4L+hxTZPve8QT2DT46kbAMfZvVFyOsyWDFIinsnonUS/DnrL7CfuKuFSM8GBYKka2EHwqgdYPHU3FnAwqc6+G6ns5z1d510AVYynVVRoHXflnbf1TOfxuVRwOY0veTRen7Y6qBXQhl/6qlsUgvM/SwyA9Ax8JeHmXbwQgDoWijxQi1ZQE+a7f1q8/RdAJkQdbUM6rE3mjw1JNzS27VXPVUSQMmX65muNg8io1WQuloNOMggHyCCXNFvTpu/ZzTuiohKlkoPM/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=westermo.com; dmarc=pass action=none header.from=westermo.com; dkim=pass header.d=westermo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beijerelectronicsab.onmicrosoft.com; s=selector1-beijerelectronicsab-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dRz6DTGDNQi+HXGc9yfmoU+uIsdDCQPdx2IITVpD19o=; b=N08pxm7F6z1zwGi5pkHJ2xpkkg+9+VnbUMNgDNX8qi6d67hOHxk+IS9GZfQ/HQFveb8uSD+FmTvKlzlyPgVEafrOAeeuJEN7GGMQZGfcvY+9J9Yr1Y/l6jMG3CbTy1fivIqrcro2ejEdbwmFhO/D1Fkntk9N+EPlxktL93QvKB4= Received: from FRWP192MB2997.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:17c::10) by FRZP192MB2437.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:137::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.22; Wed, 19 Nov 2025 10:40:21 +0000 Received: from FRWP192MB2997.EURP192.PROD.OUTLOOK.COM ([fe80::8e66:c97e:57a6:c2b0]) by FRWP192MB2997.EURP192.PROD.OUTLOOK.COM ([fe80::8e66:c97e:57a6:c2b0%5]) with mapi id 15.20.9343.009; Wed, 19 Nov 2025 10:40:21 +0000 From: Alexander Wilhelm To: Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Dmitry Baryshkov Subject: [PATCH v5 3/3] soc: qcom: preserve CPU endianness for QMI_DATA_LEN Date: Wed, 19 Nov 2025 11:40:07 +0100 Message-ID: <20251119104008.3505152-4-alexander.wilhelm@westermo.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251119104008.3505152-1-alexander.wilhelm@westermo.com> References: <20251119104008.3505152-1-alexander.wilhelm@westermo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: GV2PEPF00007574.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::3ed) To FRWP192MB2997.EURP192.PROD.OUTLOOK.COM (2603:10a6:d10:17c::10) 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: FRWP192MB2997:EE_|FRZP192MB2437:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d9deccf-b725-4e9b-72d7-08de27580a28 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ogYDSuYtW4ZSUwkRCbhUhYKa335Rzhf8BmVlcbZPiJuZublT8BUqBl3etx21?= =?us-ascii?Q?/E+u6YUvg0g6cJVZKTUIU5ZxQ3JXjqDKeOjtvspMKn8cIhcy09z7umW8ifYj?= =?us-ascii?Q?E1sMqb5gz13Ig2oC1sollTU01qmHsxN11GdyQpo6FoaEbv/Pt+HaqzWxe7Qn?= =?us-ascii?Q?7COgFv1iR4yJSjxcSwiUbbjiFKb9KcLRIcog1+qORLK307+qawPzC3CuIlZA?= =?us-ascii?Q?B7YKrOs5QzE2t7gDmLHNq8lXhDx8tO0yPW5xnS8JWSZbAadsMazBRFpyB1fo?= =?us-ascii?Q?8IiKQkEedcPq08rJ+KP/j/jGIOhEjk6SNL52QEpbqrseC614lXXRTdItmuTq?= =?us-ascii?Q?FmMElZ0CLPpP1tfA0+qWxzhXeIKM1xpv8Bxze7E3NZvOPu65eogrHjmMSwqI?= =?us-ascii?Q?URnR8bSkkMGKEAfuJuEcj8+zZpY/3acD8EA02bs+cYTteA9GWtJfOZNsLdvv?= =?us-ascii?Q?oAJIBTHNGxYWQEG95U6NHk1/keIBuTROXM0ZagEnxyg64Amo2yfRQEWOPMyt?= =?us-ascii?Q?NySuNaeXhmQzfwUIBhOnl2kePaPpsRoa869OVHYBkDpxval0I1k+TavldADh?= =?us-ascii?Q?DKoTWjRC2kGEOZrDR7RuDVPOneqDhVwM9EBxebE1vwMPvARwEI9L36E1VaZ3?= =?us-ascii?Q?yUYDNpWBr0mKTbRqWvijfb/zpt6q7x2fHyykqXkzQ/Tqr4cPYLUFMfHUZ7q2?= =?us-ascii?Q?RJjmiYQ8UD5PoFK5sxCcH80Sx2Kj7LB5BWvO83NY/pbdxlgX8ik40Hu+CnqA?= =?us-ascii?Q?6V9dc6cIwSwvZzNX/TX6DzOxHsc7++0FwYvvDJodj+q/DKzGjSpfW01FhF4Z?= =?us-ascii?Q?6JSLEUIJyD5yBPfD5nF0N1bT3Sr50LCrGlQBRAxTo7FPHWga501kpVJMgiRs?= =?us-ascii?Q?WFV1q5t4HR0cPPyEpfZ7HHiSPV3lX6p2olStxF0BRQS2ipVqKOZcecbUq6Bu?= =?us-ascii?Q?PAFR7JItvsr0kFiaSU5ogw8l0SD5mOeVEheue1fFjUKjwkuyaXmHXmmmj/fd?= =?us-ascii?Q?cu3PtY7Wk0zdv9x9EI8uN2qPiuRb2nIHGabJ5wVApqEJwIy8T5bh0iPWlJK/?= =?us-ascii?Q?SXOpiesRNQ1eshrSJwkLOz6pZB4/IySiowZhmgsX8jV4LoLysvqTyCG+n9/C?= =?us-ascii?Q?/o9RYMDtHKkFLlgCQTV0LYguRc+A07hHPQa7UdgQ8zgevkAVK0g9J66p33C4?= =?us-ascii?Q?uMDsz3wqNhx6hQ5i9RidDRKChw4iL19v5v/SEdalu9IdWLrXDka6KIo0OoPf?= =?us-ascii?Q?cGvsduo0tLZoqsK0l65yObfnjnQLvoKdzvzo3PRGF1ciLf2A/2sfnL7b+51D?= =?us-ascii?Q?c5HmEKF5cJXlAQ1t5xf32nZbUE+cVcegspxi0l0vGc00S9AW1dfr4z80Qo1D?= =?us-ascii?Q?yBtHFXNCLjcnoY6+GkVX+8WqhxJaBxJkuXw+rhVd+s7U2es0oNQ7lMUNY365?= =?us-ascii?Q?VI8CzM82CVxEglL8G3VL3jFK2/KSBMbs?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:FRWP192MB2997.EURP192.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?THtBR43LAwKCJ1aTAJvyVWGGeGKLjxOJflKbYrVnnEzfURVEENaDSfPy19zm?= =?us-ascii?Q?S2iNuzY8Y3ya/yPZ5T0VlAv/3y1poE9KAt3V+oLhe8PkjJqlRQWBXCQ/DBGE?= =?us-ascii?Q?lbEbp6KxNb5lYuCLveBSD+KK64xZCFaVWzBSAMv0NAvYKlPOx19yi+pBW7Tz?= =?us-ascii?Q?b9mJGBKqFpIZAoy7p9RGIkOL1g/09N6aX/G0Be1utQfsqoD3bQoPCc3X7okb?= =?us-ascii?Q?j8qHEHE+xuAC+O9X8M66GryfgXLig4XTXbjgq9iVlJWg2a4xCEGcrz/0AphV?= =?us-ascii?Q?3CbBy1269BBPf9PNhQnr8kd1USX0TGxi6YiCePqhcrPn8HRf/rg3oIGksDeF?= =?us-ascii?Q?WKNY20ausRbQAOZUxlofHHEzRoWTqvr3QmjKU3BasalBomQ5vJfkbNVWLD5K?= =?us-ascii?Q?sZ0ZYUcPst3P9F5E697hEM88ZmcancmHX6wM3EeCX3jy+0WOW9FhOXQEfvF0?= =?us-ascii?Q?qE7uC+lmN3xGKR2b4jMJEoriS6wTYR/Ikz1GexKgkDgDOH2CRKzYZwPuYbCY?= =?us-ascii?Q?A4PnHBeWoASr3n5dUPQhVjzhLZ6gX7q7V+WzoXD7W2Eo3Mrz6Rt/4MaiWlTV?= =?us-ascii?Q?IQoDV2qcrXMFP1Vu2z7JpkK56lhktypvUWH+oNdCvtvBSLd17Qn6Soje1Eah?= =?us-ascii?Q?bi6+cOx+abWd73RN1yeanDCSkWO+ta7TR7s7jzzBTvcnnJeYKRtBSW5CBCWE?= =?us-ascii?Q?H0IBB/w8zMiyIz6UeJrD85GD69SwPjmG0J8N+DTDUgXK1x0Q7bQUBtgCZbUi?= =?us-ascii?Q?kCl6P+Jo7ZjGJ1diqbLqGVZCn4FN8+P/6qY6YJnedfl1fClek9oWoQWroMJb?= =?us-ascii?Q?xZUrnYtL4ELAKdeOytPhN0HyH79bO+bB63luYa7JKqENxij9IPMLGwgtaDzj?= =?us-ascii?Q?qkK3WglMd2wG48OomHlvhwN+vN81JUcCBaQUMKPKpL7TFJrqdyJb4ES50Ly5?= =?us-ascii?Q?U8LVN/3K3jvX6op/4O/4+tgjzQYM3rwPYcTi45gJ4beNJDJOUhekvY+r/yk0?= =?us-ascii?Q?hsePiV6vxiRGcuEeU00zZZfQJ1FwUF363c9v0S0OJnDE303t8d25j255Red5?= =?us-ascii?Q?qSYZWa565KyDjyJXdOXtpYffvR5s/H3p9GKAmranjpnVZHkJQ9XqMpUBeQsZ?= =?us-ascii?Q?YF5b7i487pwmE4TONqI8xSGB2d0bBZWNIdwdohM9cFvdk7YC0GICMEdATUXF?= =?us-ascii?Q?S+/X3qkuVoFUUkvaWKlxj/SSSXA1BBn3vVQnsxpzdUOWGILXTiD9DnTU+KPE?= =?us-ascii?Q?JGQ+wwV+RZTfJ9XQBMIODUAwS7mKiSNcHlK32DwiFkq2PKD9UTHDaOu1bv0x?= =?us-ascii?Q?fWP7LsUcQgCbafI5Ueh2E/XJb59gAnKteXL+b6caWFMK233KmxCm+QiP0urJ?= =?us-ascii?Q?aOh8waxSqrejBwXR6oVqKPF/VJZAKDBrWRS9nfDh2a/6wcDt79W9zPGRXNVp?= =?us-ascii?Q?4bqK2SZCYXL6wM9sCQPDzxGbVILExFLJFewT9SWjLfDsNZrbOWBLwFHrFpi5?= =?us-ascii?Q?PlqHqt2GtaCHnJwPNcuzZnqMyTV3WCW7UcmiMnB9ynr8gByVeS9sClOD5Bno?= =?us-ascii?Q?NcxgmXiFvXt2lpy7/aUTdA4q7WOhOJRJSXdH9okk?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5r3zHe+ERJ9d1keiSmXLmTkO2fV35GX9dwov6zvmvFyJNnc3uEhtC+TX6QnA9IEoI5HEwcsXwznAQY0e7q3k/qEGzVPmDYPNd1WKC71XQaGwliDNHblJFFymTXrf4u9wr7nT1GTFyUXylhokd+ZTAGm/kRfFpn/ti+a+GyLDAX5HN9yk1T00R0e4TwuefOVVFaqxcahuBi2fcCn8IsDMpkClOV7XSGz+GPr+dBvuukYgAdB+adHRJiYQX+JhuqvSYrKEV6uWGV0GCKK0FjhI5T6KRw58BX3CofPmf57OJ/WbQWfGRWoa8D1ZBnt9lusw4ZVWNk+N6NFbDIrrmdID4zU2pJmXVwXWp1FPg00/4Y1iKZgL8nFarfEOVDzQFxXUA51eLaFPKpDEr/ar40y3aBrO2Pcrq5DMQzuK0hY2yQDlljeu3RP958PboD6HfH+e84yPONKZmOR9O/37KBk1wbnagqPv1NJzo2LsjlJN8aPUdo/PqTSonasEKcoCxEegX/2j1vZSejLNEenSq2DnkQwwdTFxfvvqGf3Z69sHsVRDGR2MJoMgbit8kj2WGlT1B0ZSgjps8dnqwLg0+hb9QHWX/wLE5TfYDxMCk62oUjJoAAVni5JbSNztDXfutiOl X-OriginatorOrg: westermo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d9deccf-b725-4e9b-72d7-08de27580a28 X-MS-Exchange-CrossTenant-AuthSource: FRWP192MB2997.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2025 10:40:21.4644 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4b2e9b91-de77-4ca7-8130-c80faee67059 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: l+/kjgBGy2gvq6cz9NaMKyjvJ6n0b6kOrysH/3rETI+dB1B+FdAUzlsO2PMJhTQAz6YdhEPNp/ReNcfnN7u7VQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZP192MB2437 X-MS-Exchange-CrossPremises-AuthSource: FRWP192MB2997.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossPremises-AuthAs: Internal X-MS-Exchange-CrossPremises-AuthMechanism: 14 X-MS-Exchange-CrossPremises-Mapi-Admin-Submission: X-MS-Exchange-CrossPremises-MessageSource: StoreDriver X-MS-Exchange-CrossPremises-BCC: X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 104.151.95.196 X-MS-Exchange-CrossPremises-TransportTrafficType: Email X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating;SFV:NSPM;SKIP:0; X-MS-Exchange-CrossPremises-SCL: 1 X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: FRZP192MB2437.EURP192.PROD.OUTLOOK.COM X-Authority-Analysis: v=2.4 cv=dr/Wylg4 c=1 sm=1 tr=0 ts=691d9ec3 cx=c_pps a=4GbWmdgbNi8q0gmMuSA+Nw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=6UeiqGixMTsA:10 a=8gLI3H-aZtYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=N9GNhs4bAAAA:8 a=EUspDBNiAAAA:8 a=eLuBTlSnDbeFbTJIhdwA:9 a=PZhj9NlD-CKO8hVp7yCs:22 X-Proofpoint-GUID: Ycp4r3kfNpc899j7ZO5BYu3ZFLaA1Udq X-Proofpoint-ORIG-GUID: Ycp4r3kfNpc899j7ZO5BYu3ZFLaA1Udq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE5MDA4NCBTYWx0ZWRfXzz0mSl45MR/z j1fDvVNiYAM6HgEInweNjFfS/PvmlGW9nY7tkEX/0Tb+L+AQZID0xQ+fcAZkjD49CZ2IUuXyNqh 9PLfNUPDEwmHpMBHHGrPVfnMFUFR50MUEM4ay6JEujT9qee7mMwvMNTbjsdUSEUt5F2kQMGLSGt auZtQoVhvE5VVdX/6TQR9sMC+glTgdToq8lxeJf4GUd8CprCb2KsQaZxWwHI8OMXbGCCr7shNxV lNtKg8irHG8tYHo2XWM5c/TtUEWCN7LANvEkLb/QrT/NV49I64RWwPo9fkBTW8i64R+sBto9vpy o1/Z0IlTdMzU2zEHFLm2PWgPSAv+jDorxSNqafLOboJVqvcZ5PCQZ8LO9cbbzja/kBYWTpYp2Jj 9uSIkMr7m4gpBev/c8HA2Ln174yRxw== Content-Type: text/plain; charset="utf-8" To ensure correct handling of endianness in the QMI subsystem, the QMI_DATA_LEN field used in host-side drivers remains in CPU-native byte order. Remove unnecessary endianness conversions, considering that QMI_DATA_LEN is always of type `u32` on the host. On the QMI wire interface, however, its representation is variable and may use either 1 or 2 bytes. Signed-off-by: Alexander Wilhelm Reviewed-by: Dmitry Baryshkov --- drivers/soc/qcom/qmi_encdec.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/soc/qcom/qmi_encdec.c b/drivers/soc/qcom/qmi_encdec.c index 030b18fa086a..28ce6f130b6a 100644 --- a/drivers/soc/qcom/qmi_encdec.c +++ b/drivers/soc/qcom/qmi_encdec.c @@ -406,6 +406,7 @@ static int qmi_encode(const struct qmi_elem_info *ei_ar= ray, void *out_buf, break; =20 case QMI_DATA_LEN: + memcpy(&data_len_value, buf_src, sizeof(u32)); data_len_sz =3D temp_ei->elem_size =3D=3D sizeof(u8) ? sizeof(u8) : sizeof(u16); /* Check to avoid out of range buffer access */ @@ -416,15 +417,13 @@ static int qmi_encode(const struct qmi_elem_info *ei_= array, void *out_buf, return -ETOOSMALL; } if (data_len_sz =3D=3D sizeof(u8)) { - val8 =3D *(u8 *)buf_src; - data_len_value =3D (u32)val8; + val8 =3D data_len_value; rc =3D qmi_encode_basic_elem(buf_dst, &val8, 1, data_len_sz); if (rc < 0) return rc; } else { - val16 =3D *(u16 *)buf_src; - data_len_value =3D (u32)le16_to_cpu(val16); + val16 =3D data_len_value; rc =3D qmi_encode_basic_elem(buf_dst, &val16, 1, data_len_sz); if (rc < 0) @@ -721,7 +720,6 @@ static int qmi_decode(const struct qmi_elem_info *ei_ar= ray, void *out_c_struct, int rc; u8 val8; u16 val16; - u32 val32; =20 while (decoded_bytes < in_buf_len) { if (dec_level >=3D 2 && temp_ei->data_type =3D=3D QMI_EOTI) @@ -773,8 +771,7 @@ static int qmi_decode(const struct qmi_elem_info *ei_ar= ray, void *out_c_struct, return rc; data_len_value =3D (u32)val16; } - val32 =3D cpu_to_le32(data_len_value); - memcpy(buf_dst, &val32, sizeof(u32)); + memcpy(buf_dst, &data_len_value, sizeof(u32)); temp_ei =3D temp_ei + 1; buf_dst =3D out_c_struct + temp_ei->offset; tlv_len -=3D data_len_sz; --=20 2.43.0