From patchwork Thu May 22 14:35:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Wilhelm X-Patchwork-Id: 891981 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 9541628D8CA; Thu, 22 May 2025 14:35:56 +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=1747924558; cv=fail; b=GL8e4WCLhXyuttSb1rTL2NqtF1z5+hGTZnHaYu+q0ffYiw8ehWakXzOoaNilGpZUjX4dkVSOFiMUtXuolce6XdmlM2ZSTXN4ZDxbEpPNO04LwO+i+lYAwC8rKIkuYS37T0t2w/o1kUGr+iA0dqR9GiwuA7Y35zr8Ye42xw5Js2U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747924558; c=relaxed/simple; bh=MJJfZ1D89BREGuS7ilgG57thcnHEDwvBPxBbLFUecJg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=t7gPx0+r2BIdrNp8wyE7mFEmm4WNrNlFgeEaIP79ia3msIp+7NzmNNSwz4gX443u4OgMP7vI8f7o0C/vF2iGuRh08K6HggVgOYnWWVC65wFq4O9Filb1EvV0/dg/LCU6n5EQVRTNoS8A4FGT7z1WTniwW8pyW/rINsf4eQDJF6A= 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=r3mnUFBi; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b=uHvdOHYz; 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="r3mnUFBi"; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b="uHvdOHYz" Received: from pps.filterd (m0214197.ppops.net [127.0.0.1]) by mx07-0057a101.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54M4j0Hv024668; Thu, 22 May 2025 16:35:40 +0200 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= h6CmerF+c7J1rsc5/xLiIYfroTBExyhCZ6eT3pfZEA0=; b=r3mnUFBiqMr0Pn1J 97EGkeusTQi602ow/Nl4gnbeORF07Fi3FoJleqk73sT7ODrRhyn2DJsFjYnFR15u 6iWlZ8UbD4fPIjdXyvS4m+tXNfGctFsDW6/Hh3VGI+QB0XTE2myx09WkpNqN4Dx9 /wQ0g23krlp/K9eVPTr2PENYxWF3svBca3mQdI+7BEnrMnpKOERlh7szPSd4IkBW R8K9W4jrBPnIoIlKvisSCnF9e7UB/h/RZE45o4FZEGVyNCLizdGUmvIOfJq0xd1e vyLT+cBNNItoXtDn5PhAA+2pu45+t6A3e38yo56RMCfHyQCHNFROIo/Gcs3JTE+R x10lWg== Received: from eur05-db8-obe.outbound.protection.outlook.com (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105]) by mx07-0057a101.pphosted.com (PPS) with ESMTPS id 46rpf3ju5q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 22 May 2025 16:35:39 +0200 (MEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KYj6QtTO9G7a/KEEieGP0SseQr3QlJoXX0jIsWrfi7XGLqOtZdONDpnHaL6yie1m2eX47C3wtqCt2i6jNG277iT35ZnIacurygsL8Gv7vwEvgJhYYYv68dMNe6vBTNDYgMHux1yhUtz5Pz9gzSpatlRh780HkwoIzFxrE3HX5BlNFoASa8fvwoXkfL+Yrd4ZKGcrqsJJxHIgaEebEhondyCWWhVUnHKuldYVZy5EioxBfAuqiECb99d/ik6NoI5gOaH4CfEHcA8i1InAxORNOcnW0nWtxclUH5KqVeXAEttyXHGCaXq2r/T7rJZ6Ky++4aTAQ3K6Xwe+wLEcL3meXg== 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=h6CmerF+c7J1rsc5/xLiIYfroTBExyhCZ6eT3pfZEA0=; b=hxUWeJzmvBX27yb0Mf7U0G9Nul292yF9jb/aGjNNcBq4ToAXwTtJd4ELKKqyC7qyakrWcJQSIKzHumQkJd5FvvQ7xxo3giHbqM7rJqCxGGj8r7hBdok8MNclOD0hTrqwER2ZG7sBfBkuDSppLs4iJNHJKYCL7Enn9gCORgRtvfc8sdNPZ0kPTbRkRDAF0ghGraJEPdSMfyvN7Xkjfn3JEEqtb1rbdoi61tNU+rknYjhcDO/QAg3i2vDVV6h5KmBQvmtOIKEJk4m94lhQXXGPQ6SBfYNhNEgTefNtVWUC0y5f89HHt8qCJ5QMKoi60N4Vpw0nQ0xcBdo2Ew+5t0d26Q== 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=h6CmerF+c7J1rsc5/xLiIYfroTBExyhCZ6eT3pfZEA0=; b=uHvdOHYzk0ktK2vkM2M6bffCpg2F3Ko4JmdYuTyJQFZLKIL4dEmXUY0uuMm6YS90lAKStH3pleULzNPAl7jAmXT0i1h1/EcQEKSMMnBDvKsHisK0gjH8SkYQCqoJVuwIYSCly9XNy4byQyvoQI4Edr1EurWBOm9eQEmllPnTWqA= Received: from AS8P192MB2240.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:63a::18) by PR3P192MB0682.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:2a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Thu, 22 May 2025 14:35:38 +0000 Received: from AS8P192MB2240.EURP192.PROD.OUTLOOK.COM ([fe80::bee5:29b7:49f2:cf70]) by AS8P192MB2240.EURP192.PROD.OUTLOOK.COM ([fe80::bee5:29b7:49f2:cf70%3]) with mapi id 15.20.8722.027; Thu, 22 May 2025 14:35:38 +0000 From: Alexander Wilhelm To: Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] soc: qcom: QMI encoding/decoding for big endian Date: Thu, 22 May 2025 16:35:29 +0200 Message-Id: <20250522143530.3623809-2-alexander.wilhelm@westermo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250522143530.3623809-1-alexander.wilhelm@westermo.com> References: <20250522143530.3623809-1-alexander.wilhelm@westermo.com> X-ClientProxiedBy: GV2PEPF0000756F.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::3f2) To AS8P192MB2240.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:63a::18) Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P192MB2240:EE_|PR3P192MB0682:EE_ X-MS-Office365-Filtering-Correlation-Id: 46e6c7d2-3270-4147-cf8c-08dd993deb57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: r9RBUCDayITzkPcEo9MkcMdL9O0ZPGnhpdMRKvmZYt1IiBzq5PaEg1pcUGKc4n5drW4kiPyiBxeuAjCd3C/RMKF+iPerm7r0qhAb7tRX30tNF0R3rAKrBs2p3x6ZhAOoKSumjYrTa183DFFNMQVefsEsKWnJhQIKpSkLQBcpWTlNzdUf+glfxSj7k1gywoP4i4s7pwIw4+hSFup0jlLbVQR3iJqgUwq/rnAjYZ/obZwa9nydRsJ+R/0O2O3muiU7xjeZ7qBReXLE/fdlor3bpqDLl+BP1qkf0LwaaXSADUnVN6RBIKzRPeIjAtyeK0yG4ttbn0o/BFgGo+jVwMd/9g7zNqs1LR9bX3yoHtxRTQseWXxsuUcpNpHOl9suIIHsZCQEblkw1lLpqLR1fIrs+8AtyS3/f19N6H20DH0k5vKsFz/S/ZZ59kpewtcytrkCL6fkvzZDBHwTecgoJmyxoTYyxfjoLbuthaTGefAu+BTQb8UvqkMHWefCTvDqnXuXqnEOJ9ZeU7/2XCxxjXHUc6wdaXmQq9KtQcd+PbgffYiO8DZol3mQholJspefm22I8WF1diHFEgwPmw5y5xIqjVMvrG/UGYsuKWHzssOW6C39cIL5Kfvw+Ox9ElixHFnioHaYTmEAQes1MYz2EK+QHTV3AJV9Fd+QRRukZ6Duo3F2Asd8oWfAlEXbEWHM72t+G4eHDS70dH72eF0QHk8SU5Oeil7whaYi6KDEQVd9H4bhsc6Wv27ibZgwyjDi/4im9GAb+4T/vdgSAodLHNXSoqyV2WCDKqr5PL5dINfeAdcckNkskqr/jB3WA/fmqIuMLEzwziXIfZ0cNESEWA9JMSTxjqtuaLyxcMvlG2jTTOe+LCwxQb+qkGkPYUJfhIr9CgsNj/QmGPUtAWgzZBm/nieyrHS9o3gaSdk0KpGLIaoAfJQBDrL55De7OcxvkuFm8xKj65uKlj3W0DI+WpFJLqkfqtDnNkrbz8HF+kjgoJhYJGZbfdJesEjsSYNiLAh2fzm4cqVonU5h0jNCdSLfZZrzzmbUfHbz80J/WWSb/cw/8MkOK41eEH2Ta7ZpQDG7enx605BzlKQc849aCcbjhi7vEqPJorxcL/Si+uWPFpnRZubstiuCPB1lbmA8TTdhVvjtbhjpchJiMxKiUR8kPBdTMBhgmvK0xHqPEKjNC4AJrzh8zjRCm8E1Opwys7RF0TBFLQeP4RRbReZQlrbvaTTUkOYbGCyXOp87ZZ1V0OY86mNCkcUak7LpgXhDa1UtxpWg2h8rCzMs2uArBmpCyKYFIm0JS0NMjAehBn8G3+2o/mTaCtku6pRO15LBm9cLVtRftuSaPH7Ntlmx46gVYjo2vzb0Sn4KfiJpjHyZ96zmsvY+5J3q3EutmwCqoHB5eX389KysGK6hYxLYoUe+wAtzGpsMbkJOGljw64UD6kw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8P192MB2240.EURP192.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yW/pASJ9DD63b3UV4VMEuPXOpEsFqxKWHKRNclgHaHxtWKfRfyiWDqPe4S6/PC//jzre5i8Uv1nq2SlnKRajUBCJb4MBpzrY3UEAfF79qzZshXYRdK51wi6zfDLQUV249rOsKmdlpd5D69x+Bhv8uEvsE4X6uPkxhegiA67ti57gBiejM/0fyM57ScP9sPEuumf1DOYmSMFDgKWyKQKZlystrN2kKKFk+ZicdCY+egulOnpnieDrJI32vl3os6eRwCkBEMIX3DEAEAkotXk4iYbyPYHX6Cpnc8dv04c+iCRf8ZqG5xxdkj8T8Yz0QKw+ZFym3r1TyYVhQrOjYyfDqAFAlh2kmEBsrtpVCvl0lp430IndZHtQc/WgBzKWe+T/78L9oQGe+7YCHzCKk3pW2eP35vz67WqZi/d2c4v5S7nlwky/FW/f6oIqx+uyxQRr1IFy9C2KDFKQdMu9TjbjAP8snrx7h4qwA7upCe2L0LLihEwFohpo7tQ8JZhHmny5zbEv2Y0UKMBe20fCk7zOSefOt5wgaJMwn7xZTFrB97EbDGzAPaPGhJsVWXbEmyRkyKn3RhB6U30cM9QZJ1yiC1Jlv8EtKJ3HVgCbRAhHyTnfjfhvQQS79cWClsLDEa0fSaVt5y0AoMxWGZO1Fpb+2ZTX5c9gCnwnHPdcAe5AF5glJI8r3rdF28GMzFWGpMH4XDnUaoFcLzcQOEVZ0D5wjr/vQrTEmnD6M7nigO8Y4dSxLWKJs0ZilTf1HqFtmL1qS5Mg0w57DIdV/Hw5BqPcyPLeLmK13XJouzkYKsbXTUAcqhvS9GF+sOcvYZtfQ+mcqbzDj7sWUDUFcEvxgi1YZzM1ax7VXkAsOueEoxeU5XaWKhEGbYx8gwP0r7TEevhRuJzAT6jPdCu+EGB2gmGBY2MJ3h0uJsE8OyRJGTbVmgOUsi7dOkjJngZ8DhsfZ4ylJwzbR8kk80xrWd/J6ecIYtU+EV32XfTrA8hGueztkrH2ZXZzp9uztT7iezg3Yt5o7WI0M++OqQIa25pflJdwGc570r5endN596iLfB1ozoewjAca/JtgWvGfeqZK4xRIYSX98GDjxuVmTtRc4A16dObcHgXHwZpRppvLoKeuXWLE/Esj+akuPNrWJjBx8ez8m6uYewWS9/Wnyhv9nZeGMWUjljZkYer2DFSTHIJQAvBkJh9nIzhVAXYi3pTzbu9mGTZO3O0owsWY3pyQoyy8GA+vdza/lA0yZ3373dnoqbTLaPQI43len6+EFeH9JMY1AVWSM3wo5Kv4xW7YCezMiI1oUrGlVJYCCW7m45Tode2I/V33sYxykG3CbuUORGjoM7VRLqj3ABl4g4IuCGhaJsL7Ucc60yBSVwsKD9A/a/axziV/jGCLAj3oUxA2m/gDPa+3FrjEP748YCcmt10F1ZJaVdIl63wrSG433zECaEvu++mKjb2bTwB64AkDRkaYGIEmN1eE4kHzaf9z6p0BNvjLJzmK3MvRBvYJWVVAEUZPvQjRYXXCyIHymOzdQ/Wo9g+odohJpUeRKOOrHZPT6R6+8lGX7aTT2otDs1Vb7i+BHOwNzqXBZszviEGg0oO6 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fc57jZxbPPnuGNmzHh2Wc/v1SBpUhWK42wllPvmuc1qEITei38YtIkT3B6Mwrl3l7kAdgNRqwARa7jC7sKJoB8x9jDhz8JUc2R2QrIgaObmuLnjvxULp9gOjlarVV8SxNL37VmfgXXFHu0wJuQ34828LyhHh/HqLKTWJ2fGD/veWUTU9kFETd31oN2E6sFAJd4QCde6b2/KihVH2iINop3zZabXzoK3j3P0TgjxFEk2+BcMPjej+f8u+UIeial8xFn4X/ZcAdy7FMc+QYHD9eDOa6h5n6O6veApiQ3rx0ViMtO7gjXZ7hItHpn75jhrWEGwszkVFw4Zsr9y5Uwx3L18GFj54VeigdRWYAtrLrzn6S6uypn+KUr0CTROf8cuuYAHPX/PVSMaLkeU3ErZdIRGS4JVnvwNnoiq0OszBOtWC7fU65Z7Df69O8tOBdipYQLrr3PTnhCvkBl8q5j9jCSZvse4AGkjun4Al1B7E7obBJ9evJss2TzUfdj55HzBurcCL9lQsXEqxLEG6v0mzLPoznWK/NpldklVx/EQeOdRivuZQ03EnrB7Ldigccm8Dtaw2bh33wqRcWMmEANtSviYRPY7z4K3NUIFHIq3YvBcZ3QkpL21imK4L6D4LHrJb X-OriginatorOrg: westermo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 46e6c7d2-3270-4147-cf8c-08dd993deb57 X-MS-Exchange-CrossTenant-AuthSource: AS8P192MB2240.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2025 14:35:37.7768 (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: ig9vUgdj6g1M1azA+hDdzBSVGS2YiLDvVxWv58tnnoTLf8yfhF0t1yHOzjtouTs7TxNyHwHCFDTc9eNukbzK8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P192MB0682 X-MS-Exchange-CrossPremises-AuthSource: AS8P192MB2240.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: PR3P192MB0682.EURP192.PROD.OUTLOOK.COM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTIyMDE0OCBTYWx0ZWRfX+bDREYDs24pp ggOdrdIwpUpyJ9UU5n7exXM6AsX6uGUIsHaj6J4QHrWDxJbO2wCC+pnzrGoXEopETnokBmY437v OOErJLCspg0wdHFFk9PfIEydGFgrN9u8YMXcwWrvsMK+o89vDguak5dfZrt0ofEk67uhmklmZyV 34zS+FZ9My/Y6MjhOMWeO4zy3LRQzPleMvATNoAVNRY/Rfwm5bOT4v9eWv4HWbtuGPxFPN2lUWc Due3/iE4T7RM6TiUrnnZ+JNYXKmXSetozEKHIhp15N9ZNz3cRKB9a9Yx3ltaVu+VVxDi6y/afqg shLW+4JjDlGzyO/k9vM/J1PxFWpcD69dqAv85Hp9jDVojs8zxflC/NHVcpTEOvp4b3xJgYoinzw qaUmweC3/lpwdvM6mZ52VnWNG7Rj2tsjVoLebJ7qcLwHjbKbrnlJ7G675PuH0DrkSCUVPXp3 X-Authority-Analysis: v=2.4 cv=d9f1yQjE c=1 sm=1 tr=0 ts=682f363b cx=c_pps a=ZbF0nDb3NYyigRfKXiLIKg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=8gLI3H-aZtYA:10 a=N9GNhs4bAAAA:8 a=Z2VYdKDLklew4aR_wbMA:9 a=PZhj9NlD-CKO8hVp7yCs:22 X-Proofpoint-GUID: Onbg3RtzN06Ccg7Ni1hLIWTHydwKB3GS X-Proofpoint-ORIG-GUID: Onbg3RtzN06Ccg7Ni1hLIWTHydwKB3GS The QMI_DATA_LEN type may have different sizes. Taking the element's address of that type and interpret it as a smaller sized ones works fine for little endian platforms but not for big endian ones. Instead use temporary variables of smaller sized types and cast them correctly to support big endian platforms. Signed-off-by: Alexander Wilhelm --- drivers/soc/qcom/qmi_encdec.c | 46 +++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/drivers/soc/qcom/qmi_encdec.c b/drivers/soc/qcom/qmi_encdec.c index bb09eff85cff..dafe0a4c202e 100644 --- a/drivers/soc/qcom/qmi_encdec.c +++ b/drivers/soc/qcom/qmi_encdec.c @@ -304,6 +304,8 @@ static int qmi_encode(const struct qmi_elem_info *ei_array, void *out_buf, const void *buf_src; int encode_tlv = 0; int rc; + u8 val8; + u16 val16; if (!ei_array) return 0; @@ -338,7 +340,6 @@ static int qmi_encode(const struct qmi_elem_info *ei_array, void *out_buf, break; case QMI_DATA_LEN: - memcpy(&data_len_value, buf_src, temp_ei->elem_size); data_len_sz = temp_ei->elem_size == sizeof(u8) ? sizeof(u8) : sizeof(u16); /* Check to avoid out of range buffer access */ @@ -348,8 +349,17 @@ static int qmi_encode(const struct qmi_elem_info *ei_array, void *out_buf, __func__); return -ETOOSMALL; } - rc = qmi_encode_basic_elem(buf_dst, &data_len_value, - 1, data_len_sz); + if (data_len_sz == sizeof(u8)) { + val8 = *(u8 *)buf_src; + data_len_value = (u32)val8; + rc = qmi_encode_basic_elem(buf_dst, &val8, + 1, data_len_sz); + } else { + val16 = *(u16 *)buf_src; + data_len_value = (u32)le16_to_cpu(val16); + rc = qmi_encode_basic_elem(buf_dst, &val16, + 1, data_len_sz); + } UPDATE_ENCODE_VARIABLES(temp_ei, buf_dst, encoded_bytes, tlv_len, encode_tlv, rc); @@ -523,14 +533,23 @@ static int qmi_decode_string_elem(const struct qmi_elem_info *ei_array, u32 string_len = 0; u32 string_len_sz = 0; const struct qmi_elem_info *temp_ei = ei_array; + u8 val8; + u16 val16; if (dec_level == 1) { string_len = tlv_len; } else { string_len_sz = temp_ei->elem_len <= U8_MAX ? sizeof(u8) : sizeof(u16); - rc = qmi_decode_basic_elem(&string_len, buf_src, - 1, string_len_sz); + if (string_len_sz == sizeof(u8)) { + rc = qmi_decode_basic_elem(&val8, buf_src, + 1, string_len_sz); + string_len = (u32)val8; + } else { + rc = qmi_decode_basic_elem(&val16, buf_src, + 1, string_len_sz); + string_len = (u32)val16; + } decoded_bytes += rc; } @@ -604,6 +623,9 @@ static int qmi_decode(const struct qmi_elem_info *ei_array, void *out_c_struct, u32 decoded_bytes = 0; const void *buf_src = in_buf; int rc; + u8 val8; + u16 val16; + u32 val32; while (decoded_bytes < in_buf_len) { if (dec_level >= 2 && temp_ei->data_type == QMI_EOTI) @@ -642,9 +664,17 @@ static int qmi_decode(const struct qmi_elem_info *ei_array, void *out_c_struct, if (temp_ei->data_type == QMI_DATA_LEN) { data_len_sz = temp_ei->elem_size == sizeof(u8) ? sizeof(u8) : sizeof(u16); - rc = qmi_decode_basic_elem(&data_len_value, buf_src, - 1, data_len_sz); - memcpy(buf_dst, &data_len_value, sizeof(u32)); + if (data_len_sz == sizeof(u8)) { + rc = qmi_decode_basic_elem(&val8, buf_src, + 1, data_len_sz); + data_len_value = (u32)val8; + } else { + rc = qmi_decode_basic_elem(&val16, buf_src, + 1, data_len_sz); + data_len_value = (u32)val16; + } + val32 = cpu_to_le32(data_len_value); + memcpy(buf_dst, &val32, sizeof(u32)); temp_ei = temp_ei + 1; buf_dst = out_c_struct + temp_ei->offset; tlv_len -= data_len_sz; From patchwork Thu May 22 14:35:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Wilhelm X-Patchwork-Id: 891760 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 93F4528D8D1; Thu, 22 May 2025 14:35:57 +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=1747924559; cv=fail; b=ngvzW5wwKUtfm8albhXykoSGEzMI/Pna7Tz9YccApmbkSRJlb+4qbVyBWLLzmH7C1mrdK0hpzrvXQz6ZZrMiaOB6XwVjxd8XenMFkmxfK7UqhxtI3l5HC5otEUEL0rXFRt6OkRnW6q2/DIww4WQNRAQdV6+mpN1m9ucs/qmxjlo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747924559; c=relaxed/simple; bh=U/+oNXbEn1dFTfKnbu212IOdZtWWT2FHHuLvLle3r4U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=IjI2oMyBAnOoj59kFoXDyjaWIkW1cDenPBU95MlSTDIR2WBHj7rxNz1T5gIE6y9wkk7tXUD1YQf1rKhV3UEuxMWGQf28zRnsf+Ywx2MreD0aAX7OIx5/GR7N78+sudXwlQPQg96MY3SMoqj+qW4M2yX3TrTqGYUOv8DRv/nE94w= 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=0RZeRKQt; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b=liOO39DW; 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="0RZeRKQt"; dkim=pass (1024-bit key) header.d=beijerelectronicsab.onmicrosoft.com header.i=@beijerelectronicsab.onmicrosoft.com header.b="liOO39DW" Received: from pps.filterd (m0214197.ppops.net [127.0.0.1]) by mx07-0057a101.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54M4j0Hx024668; Thu, 22 May 2025 16:35:41 +0200 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= NjIwBOrfrzEN9jcd0DxgBkFZRQvbJhuE3We2xHdp6Kg=; b=0RZeRKQtUyxg+apT KAMsbjH3Hq5o2dkjizChO046boE4pXakS/cLTlSouVacxRB3gf3aVdC7siIODNPe u+iOxYMTKL2/0N79oorJxAkeAiXD2y2p05fh2sxU9LsoLRC8mH7e6nWEWdftlHj/ mtwp73Z3hI3ZZJZS1U9APIQTQ/Z/CnPcYLTB+d+pjFCKzyKrzwxRKA/sp01/CLJd qyAl98idHRivj6LpE3L6rfZUdjIR8ApvL/EkYAKLlpPmnqtTjFkGrDd/UXCmruQ5 TfuhYBfCQfs8OZDFotiVrZ1gyAsUkWgeIxrAz00UH2Xm8++7qa5yNUmVIK1gochI B9MS5g== Received: from eur05-db8-obe.outbound.protection.outlook.com (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105]) by mx07-0057a101.pphosted.com (PPS) with ESMTPS id 46rpf3ju5q-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 22 May 2025 16:35:40 +0200 (MEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yboS/95IBfiDxgjnRJR66z1ZEh6XTA1t4eogL5XYVc7mf6lSWPnfw28odn6Y/wBN/5BWWCy0tnLTc9uquiZ8Y9gbnT1TlN42Wj/wlNN2VQgbNjcuz43SfheHbM8AsUj1FZf5Yp6MRiL3mRKItOMlc+TEMb+YN6wrG2hA9XmteaeFBzNpgtpDPkuiVEjbMw8ZnPr5jPtvWgl+v9ohKPT+CEeEoYZwyp1l3/1lm4eygPcGDSZmdHlbHA2p033PDeP1Rk8Ag1lJeR0a9kGzzpRfXGR8cFEGTmBxiRExrx95lyOWzobgx46wcDLCYRDtpgof9LtApSAj9DHvQVw9dGEDxw== 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=NjIwBOrfrzEN9jcd0DxgBkFZRQvbJhuE3We2xHdp6Kg=; b=Wem0WohhWq/70nN7pqR9g+QY1CmbT6WBLS9z9cnZzX2Tz/LnX6SqzZxBq4tsZ4c9V0nLunAGYDF7QD/8VFn2KKCFghgAXf6EOglKfprp+dLZnWWWL4elEFYKq2ASn15KutluYSSbl8owMnhQZrwIBrG/uSvoSluNAjFp0clulh9+LH41Kuf/R9oIlKUaSYMyDEiUkkTq7td8RTMYBlA9Sma/JCvK9Bt4wSPhnwKw6laiu0nyQZiCNwblKYhcpwaBmN3c01Cye2CDlgMBnTyFSEuPjiIbR7eTdYTARio4z1NTEkJ7TgWmpeXdkwcNJEjsJLHlBXGhzYdKudlLcn1dGw== 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=NjIwBOrfrzEN9jcd0DxgBkFZRQvbJhuE3We2xHdp6Kg=; b=liOO39DWluLSQjMOY8oR0OP/GBCCnotiHTWknt628Pj5d8mmBNRO0XjfVhtUwdvycDSNw9yegAfV7dXxLZwio7PQYcP4GHVw8HpJSbaS8ZEw0gmOmOnzjjcpVRqvA/MK5Zysw9pL/aqvFO3BlMqDeisLvrXyZLub30SpKk0FFTI= Received: from AS8P192MB2240.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:63a::18) by PR3P192MB0682.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:2a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Thu, 22 May 2025 14:35:39 +0000 Received: from AS8P192MB2240.EURP192.PROD.OUTLOOK.COM ([fe80::bee5:29b7:49f2:cf70]) by AS8P192MB2240.EURP192.PROD.OUTLOOK.COM ([fe80::bee5:29b7:49f2:cf70%3]) with mapi id 15.20.8722.027; Thu, 22 May 2025 14:35:39 +0000 From: Alexander Wilhelm To: Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] soc: qcom: fix endianness for QMI header Date: Thu, 22 May 2025 16:35:30 +0200 Message-Id: <20250522143530.3623809-3-alexander.wilhelm@westermo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250522143530.3623809-1-alexander.wilhelm@westermo.com> References: <20250522143530.3623809-1-alexander.wilhelm@westermo.com> X-ClientProxiedBy: GV3P280CA0069.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:a::30) To AS8P192MB2240.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:63a::18) Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P192MB2240:EE_|PR3P192MB0682:EE_ X-MS-Office365-Filtering-Correlation-Id: 226ff186-0fd7-4b62-6d85-08dd993dec62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: E42EOv0tlIW8bdE/tPAhHuLSCFKfELQ2e4zQ+TaIwo4bC461/U5Xm5JmJVcZnSBelmDhW030OVI9cFy/Er9vX5GzFkOKvOtiQxbm3WcGY9DBPFyFx74BUhoPBas0MGWN9oMQQtoe6aBg1KD1aHmsrH85nMqN5YGWelxappEn28vY9lgbKM3knoGlkQIw6CMybzRLPAbSkKpSgbthd5HTQL30Hj5VEDbcJ2i09Ksl/qtF5D9/Ps3RLlyvsQ+FNaHEz+ao0uM1XaQ+uLqDTItIu146fKlopGqAWzarklZhnLisu7MJfiFwDQ9/epVe0tNoe2lhPNdnc4My2wJzcW1DZFtW/BP/t9D8+slg5aXWJ4SygJ+jvaJfAy7vSdYF7SzWyBFYZlyyOyM3OQjeKpBClMMQMlbyUlsUScNmyQUTVivbMyDZDy4dEI9BIzgxm4H+8oOjP8Unc3HLPJT+Ukj8g1Ao/YW67rPpWzh6iwgr7thIQXCq/dy7UxB+beLuUolXhSj1+voQKy361r31NeQR9BiBc6qjFELIBls8WpzxWwVegsfFvjFOSeb4yyT0b1o+tujEg15RWhHE33bvKMCfjcHpWBaNkdhNZL1MfS10qXTJLUkf6H9k9bpwDgWDBn6CvIDcVXkxAjQ/Tg5cwBYLrK6q1khsCFYGb2iWawyZRSPnQhXqr4blz5ZnKEZHWC7MVGRnfd8l8a3p0aojebAWA4JM5A4+MBUhxPnP8noIZQozC7U5qHGkvXvIYrhIHWkwMniJhb7q76RT8Mo0xkN8Kaw9kv5BAsYw2pTtcDbZkQ6Ro06YGsnO98ZGyZEj4YyVbzl8WMw2LSHrwnfvt6HPZMAE2CVqlDcfRjb0dbMVqS7byEauyW/bGWXkF7fwoj/2hmibYyu0eFXDezzNYmr74JI95SwtJrocKD5mnhqO+x8dt3q1ENreiSIahqWd1uOTVt4z4CohFqsLAJsIkfPTIR4VlSs6xXJiPgYHdfYJ+yts9MBMK5z7piDWAfahOaOMp2WoIpWY1BMTc64h8FFxnQvGY7rtLaCgA6+Bcx79eHORA+g/GMGwOTnj42G1Q1j5hmCfCvt+MwymqYSNAxWQP8sB357TZGvirFLMs0K2ikTiZLa5FVNVvvexu/AM4QcpQ6XFRZKImULeKR2mfFu/4ljCWiecqkS7A3i0ehCTV6lqK3NpHz0sLRWS5XLLkGhwmVhhEEduf7YavWUjCoGGGsHxsvodhr4+DV7m0S4fZbrLexTR3fbj0s+CJJtWscmOBYU0rz2FYvfNbYC5SqYRABTf76IJ43E3bBKqQmu8amrsWWIzcigI+KXpbDZHHLlkYXT3T3PZ2iQ+JZBZhytegZ1Vlpi0VljDXCMsijBtPsrv92tt6xHbW/H+hPsx6FhwHpFJpFAkQE6kQx7c2oj+q5Tt4Z/47sz6FVBXzBhJDGU= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8P192MB2240.EURP192.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1k4+j2ii0p9XTnFJ3O6UzaENT5J+/xU9B+kpUOxzpeERC0/QXfocOG0kUrGR7hl+jFVT2wJ3QYnkDyx7hPEMOo2S1py+C2g9pbq0p/sRNehPE9t6NHh3/wbNuKdxzcgwzZX2ncTPDdA2lPLdjs3Bv50NRa1tBhfpBaUzGh+60t/OfhHALFC+5MCnLRHGOwFt173EpCWjB1LEjWxrP73OMEf3aLUrKd22mRJMzuT3JNvye5NjfggX47r3NDKrdXC44c5mYvC57QyqtnIqpEJnRFbCIAra/ApWSogY/XJZxqxlRyJzchdCr364/hD+GZ7AJcmxf79nc2XZ9jPJURsK3wgR1taA+r0fxU7rjFSIsN+EB71OKcOiLOUkSD3YBSeKNCGzJmu3N/1tBZYcdRRwwIDNzk7HnqOT7qJldB0V+UhrLEVr4yFhZlbCKofqDnsSguh2+xe3Ix1R8PxxJN52BfPVOK652TfogVb7XtuQDbHF5iksviRkGyjHr070jrnZCSBg41wiDCtRHpOs2pMRy8gkOX9zzAzxQ6F4jJFghxRhWycX6Sp4VLgpZC/I4rrRCgfcSmtr/sZo6XVcLx11EliYeL1SpxA9Zk6GccFiuE+6QhcE34edbz7H8tYkcujXhuBz4FTSujNSUnY82D0E22CMeBWVZLzl8FuH1e8iNKPq0tSYqPiC+NSaBuZDNrxxtRgYPBwv3723S6aee2iUGDGCr+HMELaAMZxBsr0/VxFtulKtZ1/35JX/SvmyuNuMUFI8nRZTMgbXbfwWsEWZW18C9x5MQMrFG9vyqqQ2LriDfhstFUylDSAKG8mOoxFwzn9kyVA+zwG9XFaRlfplCg6LppSJPEaCaleqidqFDdK2JpGSFp6H68t/cYrfnR2N6EUFq1U44NsQJSClqm44qXzSOl57v2JGFdSrKiU76PuMbbCmFZy75Hb8w2JaRvIfiOXfJE0PLClYaZUnyL/LFKR9hqTeiYORfDF1Odi7GHsOvvAFY3exymoSYk0nqHdKZ/sslCTNg67Rp+TT4GIOZ53N6Xe35eWVvo+oSlN4ckFzAdn3Jq3jLja8NgAY9df9f5NK6/In8fvQgvKZxH0yKZdHdtq+MHCrOR4AV2H2aoM+MEkOOOKQY9/AwjQFUVCeFu4rMhxRp7LCrDvxvFtgO0YpSywhbtqr4xjhJeY4864qCygXd2ROTWcIRg/P4n98rrQ5xbFFUEHaWS/KkSTW2Q1snKHzOcN2LBqFflsVxpmRhquws3b+W8NjkTFzg4/miBNHqrO1Et4vPGPuk2qq1MmpbGp+LH+96jqlb3wxNiLIdDWn7q2jJ3QuYry1l7QwksEFvuY/Z3NW49WlQ0rbVJREumdG+gMUkxW0WwH4nw+jbC2KIM7ineCWwQf1RTVHdAFCBiY9K2YdVOXIxxrub7xU8lGM914CvSyMJDptdjvnqjEgG/8dBn25W8WuHPNU3tHftXD04fDEWyl5yXoltFFiUUCRovUcH9he9v8Mh8CxqhbCOXf+s8X7tq7HxSpthdW/HN8TIx1Q9oYV5Wbj7Z098dXJUwGZXDXPO6wpYpqPtS3xPlw8uYkUWxe4dQbP X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XIZn6gdWiFEksHyVohUUeIO31/DPjMUyqAdmv0SM56N3zg1nBDP4ZmxsfJS3u3ygL2B8jW4vVjSfoHPDpMbggz45LFkT6cSoCUE1jgWlUaSjl3cmb+6IitYSOlqDSGRVXKmxn1TF4xygJ114pO5YNv3SlgE3R/pff7rODGf518ptTlrzqCf1oD6e4zRM7li6OMb94Mylww3V1UYeNnrHWxArmeDD5A7z5FthGLVi/cneEgx9VFtpbu3nOtWi09VKi/mVYXgtd7WqiitkvxfRj+MSRsbbkC+CUaUnFOaV34kANB+DNquq7cz5z5uM8yVzOn8SHFD+O6xVw0KmMa03dtVYg7iHRgVRaQR+8aQBFgQRO67SxF4dmozH5sEai6ujSC6zJZV52j3zx7QadNEQoRSSiptfKspujXLBHgmTuBPAEUHHeFtczRsLaacIAckNf/SLh5JeUWWySvVvKQd+P62yB5d/SeSi+M2ttZibqPR5UAr2PadN2PEYvdWnlenqu5VP4L5mr7DoblMeoO4XRAB58mXjke7iDaIQijRYReeNn03kGQj5Qiiw9+pxEs7DHLoCrVgZpmkT2dj7ARFHV1w+P3xUnoCz0gjeQYYawF4JkH5ECj2quNmDzbCqMkm5 X-OriginatorOrg: westermo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 226ff186-0fd7-4b62-6d85-08dd993dec62 X-MS-Exchange-CrossTenant-AuthSource: AS8P192MB2240.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2025 14:35:39.5326 (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: xjwTNmjeC9fdtOjahmJCdl/P9hDkIpSjfjXmzN3785yYcEFKPWFt8zPD/QNYvzhSm14hRJ5uX2cBQNa8sYAbvw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P192MB0682 X-MS-Exchange-CrossPremises-AuthSource: AS8P192MB2240.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: PR3P192MB0682.EURP192.PROD.OUTLOOK.COM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTIyMDE0OCBTYWx0ZWRfX83sC6GjBZ4TO WfWwQt1Hyz4Hk0SvyYnOYiidVOxx0QmQSVY3RL4gaV8FcLek/S6dNjI6WFbvAxtc3eLuJIuX62h 5kxE/LYdOCUJPXgsEtBF7GFiQG3Mr54ibO4P4sV/uLClLyccHSmtTPvInO232u9fy0wtaV6ZOiq 2XzmqFomcWrEijV8wf3lvJJWl7iOU0wgZIkEKCNpMvDsatby8BWJ7kw2lBcKCKghWjZ9AWlK1br 9xWbaFK9xiI+uBrIOmVutD2lP9LphkJhP6wvAcEJqzPuAWmMh/HV3mmrinJMJMWx5lmriG7AtRS j8mUleEjdjleo1eo4ieh9vmrqlo0yMQprLXhX84YCZqq7waHJ+XsfVv6mBEYxRCE8jxQOz2WzWF 2tPyuE7D/R8ZIfTpOAGFNITfMmsl+B0Pxz0LL0kaV3E+Ht7eK07Ozod0ax3bYE1zxwnH9Ids X-Authority-Analysis: v=2.4 cv=d9f1yQjE c=1 sm=1 tr=0 ts=682f363c cx=c_pps a=ZbF0nDb3NYyigRfKXiLIKg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=8gLI3H-aZtYA:10 a=N9GNhs4bAAAA:8 a=T0L45qBzl8X6T0AR6ckA:9 a=PZhj9NlD-CKO8hVp7yCs:22 X-Proofpoint-GUID: BD9reDSgNGQbI1yYGe7rB5-bEIfr112Z X-Proofpoint-ORIG-GUID: BD9reDSgNGQbI1yYGe7rB5-bEIfr112Z The members of QMI header have to be swapped on big endian platforms. Use __le16 types instead of u16 ones. Signed-off-by: Alexander Wilhelm Reviewed-by: Dmitry Baryshkov --- drivers/soc/qcom/qmi_encdec.c | 6 +++--- drivers/soc/qcom/qmi_interface.c | 6 +++--- include/linux/soc/qcom/qmi.h | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/soc/qcom/qmi_encdec.c b/drivers/soc/qcom/qmi_encdec.c index dafe0a4c202e..7660a960fb45 100644 --- a/drivers/soc/qcom/qmi_encdec.c +++ b/drivers/soc/qcom/qmi_encdec.c @@ -776,9 +776,9 @@ void *qmi_encode_message(int type, unsigned int msg_id, size_t *len, hdr = msg; hdr->type = type; - hdr->txn_id = txn_id; - hdr->msg_id = msg_id; - hdr->msg_len = msglen; + hdr->txn_id = cpu_to_le16(txn_id); + hdr->msg_id = cpu_to_le16(msg_id); + hdr->msg_len = cpu_to_le16(msglen); *len = sizeof(*hdr) + msglen; diff --git a/drivers/soc/qcom/qmi_interface.c b/drivers/soc/qcom/qmi_interface.c index bc6d6379d8b1..6500f863aae5 100644 --- a/drivers/soc/qcom/qmi_interface.c +++ b/drivers/soc/qcom/qmi_interface.c @@ -400,7 +400,7 @@ static void qmi_invoke_handler(struct qmi_handle *qmi, struct sockaddr_qrtr *sq, for (handler = qmi->handlers; handler->fn; handler++) { if (handler->type == hdr->type && - handler->msg_id == hdr->msg_id) + handler->msg_id == le16_to_cpu(hdr->msg_id)) break; } @@ -488,7 +488,7 @@ static void qmi_handle_message(struct qmi_handle *qmi, /* If this is a response, find the matching transaction handle */ if (hdr->type == QMI_RESPONSE) { mutex_lock(&qmi->txn_lock); - txn = idr_find(&qmi->txns, hdr->txn_id); + txn = idr_find(&qmi->txns, le16_to_cpu(hdr->txn_id)); /* Ignore unexpected responses */ if (!txn) { @@ -514,7 +514,7 @@ static void qmi_handle_message(struct qmi_handle *qmi, } else { /* Create a txn based on the txn_id of the incoming message */ memset(&tmp_txn, 0, sizeof(tmp_txn)); - tmp_txn.id = hdr->txn_id; + tmp_txn.id = le16_to_cpu(hdr->txn_id); qmi_invoke_handler(qmi, sq, &tmp_txn, buf, len); } diff --git a/include/linux/soc/qcom/qmi.h b/include/linux/soc/qcom/qmi.h index 469e02d2aa0d..291cdc7ef49c 100644 --- a/include/linux/soc/qcom/qmi.h +++ b/include/linux/soc/qcom/qmi.h @@ -24,9 +24,9 @@ struct socket; */ struct qmi_header { u8 type; - u16 txn_id; - u16 msg_id; - u16 msg_len; + __le16 txn_id; + __le16 msg_id; + __le16 msg_len; } __packed; #define QMI_REQUEST 0