From nobody Fri Apr 3 17:33:20 2026 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) (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 12DD4358369; Mon, 23 Mar 2026 23:33:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.143.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308842; cv=fail; b=i2XXg97yzISJScQubqDgy3d4Idc3BfVnqsNe4gdxlx8SDQjvT0/cNBrAhcdmuT07q03rcteV8OcOOUDIngbnQFpI0mwK/3OhF/GymFrEeEo2sW7ejYuizmMKxrPk0BBWAY8MWhLVhKk2dn5yJ+6uuS5INg1gjWSbuAKEN/XCSrE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308842; c=relaxed/simple; bh=dHWqtS+HjNl7Agc459uLUp0pD1T7tVxygq19bCNT2kY=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=fYx0DTmiQgJotH2aLlSxZKheIpiLiD7erYe3aEejD+ixFNI9forBLnvteHHaDg6Z5WAfNoL9t7h2Egowt41yBSnBWhk96epExOoRML21DJCcgXboa/7mkgVxcHsJba5PatCGdic+tWS43F3YoPp5C/uWo9dKxLITrlimtqAet8o= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com; spf=pass smtp.mailfrom=hpe.com; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b=XP3acNVx; arc=fail smtp.client-ip=148.163.143.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hpe.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b="XP3acNVx" Received: from pps.filterd (m0150245.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NKWQeo3517418; Mon, 23 Mar 2026 23:33:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps0720; bh=Cy QJPr19obw+MgOTg7ug+edPvTj76IzXAE7xfJQqAjA=; b=XP3acNVxIKoUG9vt9Z kMkHhVvwjVq1PKVuE3HXn+3xlPyLyNqlFCfqx2Nq+jXuYfJia3EMIGNC0m2QvyC3 nPQoF3TCg+2FIgYwh/Z2jtQZd0695JjE+SK2QKBw/LLhhVNnwV5dwd6M9Zs1U4q/ 0Yhgw1VBxswSNW4lpUXMopNFWHch6AhHJuHBu9NH8cDiOMKpJ5kI8Dckg+mdoeXs GiAWEJheb6+ntmcpaxdwygmk609IuLktL80cZSCA+GKPPqo2HsYSc/zhToN2R/1b SfO3BeCDDwU6rYTPut7vn5RSi+OYJLtxy2ExDIHfhCqG8NZPsZelay4u5RroYvU5 mRAQ== Received: from p1lg14880.it.hpe.com (p1lg14880.it.hpe.com [16.230.97.201]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 4d3aaxk72e-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Mar 2026 23:33:45 +0000 (GMT) Received: from p1wg14925.americas.hpqcorp.net (unknown [10.119.18.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14880.it.hpe.com (Postfix) with ESMTPS id 88ED48014D4; Mon, 23 Mar 2026 23:33:44 +0000 (UTC) Received: from p1wg14928.americas.hpqcorp.net (10.119.18.116) by p1wg14925.americas.hpqcorp.net (10.119.18.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:33:39 -1200 Received: from p1wg14919.americas.hpqcorp.net (16.230.19.122) by p1wg14928.americas.hpqcorp.net (10.119.18.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17 via Frontend Transport; Mon, 23 Mar 2026 11:33:39 -1200 Received: from DM5PR08CU004.outbound.protection.outlook.com (192.58.206.38) by edge.it.hpe.com (16.230.19.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:33:39 -1200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qyC1SR32KrQbdI3eapXjhAfSEY1cOQRB5NQtW43QWAcFnMpRmt44iBobeYxRCXG+8eS52065U9pzTIgm5QZEsdq0aM+7RTwo6XviCe5y7+4zKRf/nPL6buBbfqCx3KYnokRMtUgTslbblmKQg24U0xVBUo8lIznNRd4qgCfpthaHG8UcsABzW/M/AI+H+zV26bYUy81QsPxT6Rtuod1DFy0L/bEoxN2sscf7kQfSWGStwIGiAdhqqlZL15l1Ey8Mbh3WNsutvRqosFaCKKMRLR4qah7H6JiTqoc/sfOThZD/R5z4LPXhkio5CZNPgtumauShFs8iEWYdFR7kRj19kg== 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=CyQJPr19obw+MgOTg7ug+edPvTj76IzXAE7xfJQqAjA=; b=QR+r4Ij1K/WdpsnVG8tVbDTcIx+z1LVGD14Kq8Q1XpzwrFchAdeecRtu7BWQopKYF6TeKzpSi/JBY+Rg1Tj0R91iBk+qXPj1p93d5Lw1M1AkZV+ZMBM7rSqjCf7w6szTD8D78hyOlyYCn8XCC0fU7jDy8bd5ysrxb6OOmYNWIDnb12gPfnpLZYVVY9oPhmkMz0of88UWUZgx/5R5PxlgSmxcYVKzYxuu4sWZbPL2rBugrM4U1ib8YYs+cEZp6mhQydLTj4URQ7XZ/DTzUuTZIFxPVjzaMZZw98KOLIFQ3iiGtuCsU1cZuJ2dZ1Kv6IoZSbjl2pm0328Ik8tzBmWDVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1cc::7) by CH3PR84MB3989.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:253::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Mon, 23 Mar 2026 23:33:38 +0000 Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f]) by CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f%4]) with mapi id 15.20.9723.030; Mon, 23 Mar 2026 23:33:38 +0000 From: "Pradhan, Sanman" To: "linux-hwmon@vger.kernel.org" CC: "linux@roeck-us.net" , "wenswang@yeah.net" , "chou.cosmo@gmail.com" , "linux-kernel@vger.kernel.org" , Sanman Pradhan , "stable@vger.kernel.org" Subject: [PATCH v2 1/5] hwmon: (pmbus) Use -ENODATA for unhandled registers in MPS drivers Thread-Topic: [PATCH v2 1/5] hwmon: (pmbus) Use -ENODATA for unhandled registers in MPS drivers Thread-Index: AQHcux157VDv6jEWdUanbqBDRn8c6g== Date: Mon, 23 Mar 2026 23:33:37 +0000 Message-ID: <20260323233244.201294-2-sanman.pradhan@hpe.com> References: <20260323233244.201294-1-sanman.pradhan@hpe.com> In-Reply-To: <20260323233244.201294-1-sanman.pradhan@hpe.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR84MB3523:EE_|CH3PR84MB3989:EE_ x-ms-office365-filtering-correlation-id: f50be8ff-0aa1-457c-4389-08de89349bde x-ld-processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021|22082099003|56012099003|18002099003; x-microsoft-antispam-message-info: Pli4jQCSxfPaFyXBJoJ17B4WbxiIdQ9Y9mJgOvGrepe1PtxmBW2Ksq7gle4R+4zLf4yp/Fx0h6K2ODnC8yeLEcL7TU5jG3qe4sBDXAMKx3ojttji/e3g/DzPwZSraqyJ3yh2vfiNv08e2p1ozGSxMde/LRBreSmwAK0Kjrs1AYpORxpOf4PFLmR7q60UwFcI7Bznwqh0yNrtnMbQqP/MyHBXwJKLTC0LP6cwkQyS7hdBbttdpuGcJS7CFaI6qEnf5dS/YMbXQqTfVAq+0NdmScZtNvL0PXQUZQ2XIraXTtKDGLsRLihzKS1/PJPWLu7bcPqbSwn75WMtcBRoff+mUZG7cEs5fY3D25HWmx+F9k4E9mzxoUaUTETwiaSHrNGILM9m1E2RcyB9OwSduTiNLtIJVK7pLaz41uwwLMMV3luj4za5eGvx6l0E/PHJjDGYtSw3fGoJbHdtji4xUSY19R+pLvn8IK61ICx/z+k1RMSNoFMGbuQFxDj6jltCSie52yEaJU6KNWRV+xVNu+tcAvN1NCKUPgwmY65d8tsA2ogNXR8/XtQ4ael/SEL/emCvRtZf+pVYlNPPqXw2FQFFZTvIAkL/V9JECPz6uFbRKagn5uFmXmYZOXV4qBUIIQeE+W84mnno0tqz9I8k3AP2FncHn1/6BCTs6D5lGw41DJP56u8FjO9kTainGCiNc7tShuhXLzJdATrtKzR2XiwzCu5AClUbY+kugD1m+iBMXulpJ9Y69JxcXguXGlOADiGs3LG8AeMD0nE7M2rdxsRt3xMttDEsn6Ds1PVczp9RYfc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?rwzxu8rhvpbIlR0xTCASgmV9aPb2KAAImXpS2e9TjDUdVtrmIqQVfQeERv?= =?iso-8859-1?Q?466Skaq2coI5ptHsydw9US2g6AfrBlLP5Z45sjyh29Rfnb8chVKMnIuhJQ?= =?iso-8859-1?Q?HWjbv2Sx1+UN3aTEDh+cU2qxiO8MFQCJcCcVpFB781Ly+GTQMqfUzg3BK9?= =?iso-8859-1?Q?H+/62yq5btYeVCiKUlyoh56HDZp6C2N5SCgOGVdYCfH7aGrDoN39ttKYmB?= =?iso-8859-1?Q?X2eom6r4Y7W+qbbsUUxIkldO3y7MNpA3JRrVSAziP7J7UIVM3yTGJOOFhB?= =?iso-8859-1?Q?78jX5niYQKf6ei8DNNV9XkCAUcxNgXcqDZ0VWKYpVV88Ne8SGeWyH6Z86h?= =?iso-8859-1?Q?cV+tqZWlVP6qt9/wItvsSMWGf+UiB8U8aBK7/ii8sZCxMCSIz1lVGRI8YT?= =?iso-8859-1?Q?ZEbyK2z91yAW6UyWbjJyxeklYul7I7LrC/+6GdgsyPQRZdiJPuUKkbdWTK?= =?iso-8859-1?Q?xa/b+/TeN5c0caM0b1CCe1LOIjtn92yQa3UTkO2KDPb624lR5JE3ITcc+N?= =?iso-8859-1?Q?tItNrcPcN66rpw+80YOzCNvp0Ur3fRXfRCjFtMjc6wmFISgtn2SOaHBWeB?= =?iso-8859-1?Q?2Lyv8jPy8qdfTVW3JDPHy1ZAHvg1ZuAaL2Ki8Ol0on7BtCn5W9rCHgIN/b?= =?iso-8859-1?Q?JGkEd+qJXITrt5RNbve8hR4jv5o4U0pfNSPabFXY84748uN8HsGaCpUJlg?= =?iso-8859-1?Q?9NCcyJZy5ceIp9kmlhJ3DHsjy81DutHT0nKZxGQAOHTkg0RZ6Ewt7JNAdf?= =?iso-8859-1?Q?A1+MvY3/OP7TuN6bvOkdKSBvYFwxMF3qWGz9auivLqcTN5U2FqEYaaN+Js?= =?iso-8859-1?Q?1iqoJa/vswPUNDbsLGX2OyGxB0N72ts6fFyhjb/4CROlogEWg5uk+av1P8?= =?iso-8859-1?Q?y+JTlTHO7sQ3QQe650Ifcfp/cJ+f76wUdWabzu56O4jTynTNcf0vfAP8dM?= =?iso-8859-1?Q?PvW1oVbHIq4PYI9At1ZGfprxgvG7sWHJAVNwS2pLnhchCRpyfQ+WF9oGjn?= =?iso-8859-1?Q?LrrpL5d/30Nq9n4YwWDe2f6m4Qo9A8jM0c/qszI0/z6i8iI0fE/hBdqt0l?= =?iso-8859-1?Q?8mmy+A85H0SH/noX4qqFCiCGKZxzWTBiCzF2bUM3vOhdpmYVLKdIgSwNBK?= =?iso-8859-1?Q?Bxf6QMV8b6GIQhxehvuLghblt3onE+0ifs6rn3/mXb71q4twXnRYBNWx/F?= =?iso-8859-1?Q?ctTLjqFL3dOblZWYPNOwLINIwiDQ2tdJtOCnw8NTOahBp6BmGY//rB5Ap+?= =?iso-8859-1?Q?Dup9xw5bTGRCrCFkd723lWwbCsx10AA3Rg1/Yy0GHAiKyqMaD/wSdYAkaA?= =?iso-8859-1?Q?v6RcDNB8rkg4MxJ052bz9soEbgHz9CLC6NdVTpzkZ8rlQMOQgeInZiG10b?= =?iso-8859-1?Q?RNWuKkHklrloslo9xeYBED/TH7NTzAXMkuhlZ7C6m+tWm5aZ0bAv1E/X1q?= =?iso-8859-1?Q?yVzDQd0/m3Tv+1xCiNM72EITX4iBr66ik+WISjFzXmi2doP9bz1hiz7K17?= =?iso-8859-1?Q?wU6t+iNKEJdPPDLO814lNRDBs2w1UGs6+8u4Lk/2+jgUQk8pMndjtkwuDs?= =?iso-8859-1?Q?sbytnYL9tt0UZnGl/XL04JkMjirCQ2S/ki7uAMwSkC1v4N2CMo0uPb3r05?= =?iso-8859-1?Q?lW0J0xkMN3Z2N+VMDFY6DRbKmg2+pkN3Sf0VKMjagbC4STMkKRWGvpH6zx?= =?iso-8859-1?Q?xf3E4Z5MXktcRedgWvmk8GeqZKgy6KyZKm2/fyTDncsIR4DTLlxaXYsDiK?= =?iso-8859-1?Q?NF1EEongQKpN+NhwKBUehrB04nRzURUB+Fe6235I9EJrxR+nCMZfHWbZXw?= =?iso-8859-1?Q?wYYFixu+sQ=3D=3D?= Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: ogeNtxAeWpR/xgD/n1pfibnwrN2vhxyQPOVTXpzgqJ9YCDShX6MLr7Voi76kEpkJ7xFIAdKfWyGNOPFX/XjmCaDj7Cb1hPsOJk55MkNgk0FK34aHlTB++MpWmXjAXQ/Ee3hnWncE41eteZ1PTsQycklvRwqILO3kFTFsvadsKfOUw6pS8WoLgTNbYYNnrZA96fHPLQc2tXVdo4SA0vJ4tQ2ZNJJfOyhJWpWOcbDdWPCdxf3e1td0fBKiEptHi1d3lxtu/NyPKEI5GZ6BLWv7RVwmwil2ThZ0LGTu1rlbrQrilWIHDWWZ8oQZy/vZnOpixN7SIjJB2q2fMgkunn148w== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: f50be8ff-0aa1-457c-4389-08de89349bde X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2026 23:33:37.9454 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GA6ZyjNPjbD6Jr4hkpzpTPxrqr+KSARhdkfYBRhCKsFr6ZDzfSzpdd6RBWLXntuujhdbM+Eq7d9jHNIoBe0qiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR84MB3989 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: vR678OI3IC-Z4KiSfwzH18Nd8HodbQNi X-Proofpoint-ORIG-GUID: vR678OI3IC-Z4KiSfwzH18Nd8HodbQNi X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDE3MyBTYWx0ZWRfX/x1/EOXUI805 fJMDpGe2CxfaA0tWeStOgmVhHwFIyykkJael0yKTbbLEzt2R5/+zS1XF1Dz3hD93yUt+7n2UtiX GGpI4/ACZpZq7eMtv1A3w0UbRmgqG9Ay+UklQbORjgv1g/9jhdz+lohiv/LiBjpr0qALHdCdUfG AoHhQK+gWtBDCSJG+7c5UMuwhU0uFMz9pW7OY8BL6DL52jL8htBG40vTrHtuiWROEQhY9z4/C0m /M5JryWP8RG/ybaXuVq0w16ilDN/YeB38pPpC751mzgrLEJ3qXmCZ3zcWHDmOH9ufKbyPpq3qkc sPKteQBcmK/wEA30oGvf1fHx0Uc/ohQ9Ls74zDX6rAY8SenYnxoSgRjVD212WW9WfVJ73KkvQmH 6qC1FzpoevMJ7texGRXR3ObKT3I/maajIAHGp2TEFjnGR1Fhqn73Qtix84J6U2U6c380t2WRUx9 fCMVl/SH8F28fwr+NJA== X-Authority-Analysis: v=2.4 cv=bqRBxUai c=1 sm=1 tr=0 ts=69c1cdd9 cx=c_pps a=A+SOMQ4XYIH4HgQ50p3F5Q==:117 a=A+SOMQ4XYIH4HgQ50p3F5Q==:17 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=8nJEP1OIZ-IA:10 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gQcMVamqm3wCPoSYhaRC:22 a=6XKncaru_qjgLvANlS_8:22 a=OUXY8nFuAAAA:8 a=VwQbUJbxAAAA:8 a=JAkN7oncqWJZiqCo4BEA:9 a=wPNLvfGTeEIA:10 a=cAcMbU7R10T-QSRYIcO_:22 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_07,2026-03-23_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 phishscore=0 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230173 Content-Type: text/plain; charset="utf-8" From: Sanman Pradhan The read_word_data and write_word_data callbacks in mp2869, mp29502, and mp2925 return -EINVAL for unhandled register addresses. In the PMBus core, -ENODATA has a special meaning: it tells the core to fall through to the standard PMBus register read/write path. Any other negative value (such as -EINVAL) tells the core the register does not exist, causing valid PMBus standard registers to be silently hidden. Replace -EINVAL with -ENODATA in the default case of all affected read_word_data and write_word_data callbacks so that standard PMBus registers not handled by the driver are properly served by the core. While at it, remove the explicit per-register -ENODATA cases in mp2925_read_word_data() and the PMBUS_STATUS_WORD case in mp29502_read_word_data() that are now redundant with the default. Returning -ENODATA lets the PMBus core handle standard PMBus registers through its normal fallback path. In mp2925 and mp29502, the existing explicit -ENODATA cases are folded into the default case, preserving the intended fallback behavior while simplifying the callback logic. Fixes: a3a2923aaf7f ("hwmon: add MP2869,MP29608,MP29612 and MP29816 series = driver") Fixes: 90bad684e9ac ("hwmon: add MP29502 driver") Fixes: a79472e30be4 ("hwmon: Add MP2925 and MP2929 driver") Cc: stable@vger.kernel.org Signed-off-by: Sanman Pradhan --- v2: - Folded explicit per-register -ENODATA cases into the default case per feedback. - Reworded the fallback rationale to describe the intended PMBus core behavior more precisely. --- drivers/hwmon/pmbus/mp2869.c | 4 ++-- drivers/hwmon/pmbus/mp2925.c | 21 ++------------------- drivers/hwmon/pmbus/mp29502.c | 7 ++----- 3 files changed, 6 insertions(+), 26 deletions(-) diff --git a/drivers/hwmon/pmbus/mp2869.c b/drivers/hwmon/pmbus/mp2869.c index cc69a1e91dfe..4f8543801298 100644 --- a/drivers/hwmon/pmbus/mp2869.c +++ b/drivers/hwmon/pmbus/mp2869.c @@ -391,7 +391,7 @@ static int mp2869_read_word_data(struct i2c_client *cli= ent, int page, int phase, ret =3D (ret & GENMASK(7, 0)) * MP2869_POUT_OP_GAIN; break; default: - ret =3D -EINVAL; + ret =3D -ENODATA; break; } =20 @@ -536,7 +536,7 @@ static int mp2869_write_word_data(struct i2c_client *cl= ient, int page, int reg, MP2869_POUT_OP_GAIN))); break; default: - ret =3D -EINVAL; + ret =3D -ENODATA; break; } =20 diff --git a/drivers/hwmon/pmbus/mp2925.c b/drivers/hwmon/pmbus/mp2925.c index ad094842cf2d..570e343fdf24 100644 --- a/drivers/hwmon/pmbus/mp2925.c +++ b/drivers/hwmon/pmbus/mp2925.c @@ -114,25 +114,8 @@ static int mp2925_read_word_data(struct i2c_client *cl= ient, int page, int phase, ret =3D DIV_ROUND_CLOSEST((ret & GENMASK(11, 0)) * MP2925_VOUT_OVUV_UINT, MP2925_VOUT_OVUV_DIV); break; - case PMBUS_STATUS_WORD: - case PMBUS_READ_VIN: - case PMBUS_READ_IOUT: - case PMBUS_READ_POUT: - case PMBUS_READ_PIN: - case PMBUS_READ_IIN: - case PMBUS_READ_TEMPERATURE_1: - case PMBUS_VIN_OV_FAULT_LIMIT: - case PMBUS_VIN_OV_WARN_LIMIT: - case PMBUS_VIN_UV_WARN_LIMIT: - case PMBUS_VIN_UV_FAULT_LIMIT: - case PMBUS_IOUT_OC_FAULT_LIMIT: - case PMBUS_IOUT_OC_WARN_LIMIT: - case PMBUS_OT_FAULT_LIMIT: - case PMBUS_OT_WARN_LIMIT: - ret =3D -ENODATA; - break; default: - ret =3D -EINVAL; + ret =3D -ENODATA; break; } =20 @@ -203,7 +186,7 @@ static int mp2925_write_word_data(struct i2c_client *cl= ient, int page, int reg, ret))); break; default: - ret =3D -EINVAL; + ret =3D -ENODATA; break; } =20 diff --git a/drivers/hwmon/pmbus/mp29502.c b/drivers/hwmon/pmbus/mp29502.c index 7241373f1557..aad4c57a0a2c 100644 --- a/drivers/hwmon/pmbus/mp29502.c +++ b/drivers/hwmon/pmbus/mp29502.c @@ -293,9 +293,6 @@ static int mp29502_read_word_data(struct i2c_client *cl= ient, int page, int ret; =20 switch (reg) { - case PMBUS_STATUS_WORD: - ret =3D -ENODATA; - break; case PMBUS_READ_VIN: /* * The MP29502 PMBUS_READ_VIN[10:0] is the vin value, the vin scale is @@ -456,7 +453,7 @@ static int mp29502_read_word_data(struct i2c_client *cl= ient, int page, ret =3D (ret & GENMASK(7, 0)) - MP29502_TEMP_LIMIT_OFFSET; break; default: - ret =3D -EINVAL; + ret =3D -ENODATA; break; } =20 @@ -555,7 +552,7 @@ static int mp29502_write_word_data(struct i2c_client *c= lient, int page, int reg, word + MP29502_TEMP_LIMIT_OFFSET)); break; default: - ret =3D -EINVAL; + ret =3D -ENODATA; break; } =20 --=20 2.34.1 From nobody Fri Apr 3 17:33:20 2026 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) (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 43A1136DA09; Mon, 23 Mar 2026 23:35:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.143.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308902; cv=fail; b=iFN+joHY4lMZtEtD2drR7AXhMifnKQng7GwIEIiYL8Ucfr9a4rFgjAx/NdjTRL/SUTyRuVQD1V+It3j0JsHLgj1osUUmRmLfrzqnEftcTGfrNV8pGrJPq69k/QeYU/aD/JLFAZiauPcFXd1A+0Fv3MYEm5AlxrZ2aQ1xHVEbIRY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308902; c=relaxed/simple; bh=kFemb01h4Yp/YUXM1iHgSw8C1i1yIUjf5DcAgUIsRJ4=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=G+pyipQ2lAx92gXH6bUaxA+4SK/qlDAyQUcuIG57r8BuoFmAqa4p98G0JP0NP92noLmIghhCDxJKJH7cOJ7RsDhGR261GEUMpMOCjxRCovaa0Fxyc0kQkWUWH2lhgseKIQuL22BIf6hlbJi6cIGV5B/ZdHbCKtQE68T8cwEc1qc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com; spf=pass smtp.mailfrom=hpe.com; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b=lTC3SjHy; arc=fail smtp.client-ip=148.163.143.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hpe.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b="lTC3SjHy" Received: from pps.filterd (m0150244.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NKESWb2864994; Mon, 23 Mar 2026 23:34:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps0720; bh=wG y1eZM2v1xqB9SubDCd/+YhRreLQhBOCiGVwJ3Ou0U=; b=lTC3SjHynZ2s+iObBQ /ZhJKYPPlABt4dp2LdjDfDWA5J3H4rG/L+EDUjV68BrsvvLwHp8SlcWRWU/7AriH 4mmIj5273EDvVBZq8tdn7ruYBHXPCrsaOzoVPIC89LkhLryPNbpvZCOJlArohLvK eFAJaxhqZ2qkcUNcCVPa4THcRSPnkxKbimKkN2ASpaW6QtIuSYJzK2sldI88vfZv Ym50M5y4rrpbW/8PePO9Fx9hbf4RH0gdSuDiII0ztXlFhgIMmQu197BE51UKk36l 4tyGxJtobv6cxOcySyNSkLLWJel+//UtiCL6NjdJRXDlg5JV1ROgG0M12gl0JX3E w/Bw== Received: from p1lg14880.it.hpe.com (p1lg14880.it.hpe.com [16.230.97.201]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 4d34psqu49-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Mar 2026 23:34:46 +0000 (GMT) Received: from p1wg14923.americas.hpqcorp.net (unknown [10.119.18.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14880.it.hpe.com (Postfix) with ESMTPS id 72BDD80163D; Mon, 23 Mar 2026 23:34:45 +0000 (UTC) Received: from p1wg14927.americas.hpqcorp.net (10.119.18.117) by p1wg14923.americas.hpqcorp.net (10.119.18.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:33:48 -1200 Received: from p1wg14923.americas.hpqcorp.net (10.119.18.111) by p1wg14927.americas.hpqcorp.net (10.119.18.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:33:47 -1200 Received: from p1wg14919.americas.hpqcorp.net (16.230.19.122) by p1wg14923.americas.hpqcorp.net (10.119.18.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17 via Frontend Transport; Mon, 23 Mar 2026 11:33:47 -1200 Received: from DM5PR08CU004.outbound.protection.outlook.com (192.58.206.38) by edge.it.hpe.com (16.230.19.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:33:47 -1200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y8pMgrPf7g7G1+8XEio+rSL46EPa3AzAbHodnDHOM5EIrOQ45Z88EMnLw0zow8vjOtpSABALA3Qgfd8+zBVW3zbmZ2hEPyJkLJfh86xG+nC5I7MXif7Cgwo2LzNBGoPd4MxxdM1Z90GTl9dS2pnGLbuOsdg6c1z3XhZLtHj8/xSSjblwu6dT+thpJ2TMqfO2TJ5uHBp6+kSIWdwF0v0Wl+1mgx1vVhsvqO0Vrd3a1dVTOPwsbEJUrt3v4RdrpeMUQIpEaaQIklSSbm6E3R0ZAptKa8Y/o6GcmaKSofDyECBqO0/2x1Jmz243PbdpBIam+7juHlLIup9tNCAxq1Y9oA== 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=wGy1eZM2v1xqB9SubDCd/+YhRreLQhBOCiGVwJ3Ou0U=; b=W3ISJ8J2LcR1z8dbq6MBeHekn95rFOOyHDmVCPhu84/233f66LryGXsXMI1BQdNwSXc/4Zr2GqvZ5lnq57JVeZl4v36WnA34xRBCUvwumzTLWcErKtpfTgAW5W46PP21nlTe4u0zyKh5AlsUmtmQOpdp444P+u53qIuHCSqAlWpqViHTdXGOoWFN21UwX1s2douli7Rmt4WP1HHufivKg/sZaz+DNEmsxcg5wNvU49hbM6f8ymHe1Z8xn37W7ol2e8NWwU569yYy85Ilf5Rp84E0s4SIhtutqCjDvDZ6xvZwAKP9l/+4L9/jay6UrmJ4yvhPV94jTVqpV1E7GAuI9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1cc::7) by CH3PR84MB3989.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:253::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Mon, 23 Mar 2026 23:33:46 +0000 Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f]) by CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f%4]) with mapi id 15.20.9723.030; Mon, 23 Mar 2026 23:33:46 +0000 From: "Pradhan, Sanman" To: "linux-hwmon@vger.kernel.org" CC: "linux@roeck-us.net" , "wenswang@yeah.net" , "chou.cosmo@gmail.com" , "linux-kernel@vger.kernel.org" , Sanman Pradhan , "stable@vger.kernel.org" Subject: [PATCH v2 2/5] hwmon: (pmbus) Fix return type truncation in MPS reg2data_linear11() Thread-Topic: [PATCH v2 2/5] hwmon: (pmbus) Fix return type truncation in MPS reg2data_linear11() Thread-Index: AQHcux1+4HUbx2nZzEqsqwhFDE7Seg== Date: Mon, 23 Mar 2026 23:33:45 +0000 Message-ID: <20260323233244.201294-3-sanman.pradhan@hpe.com> References: <20260323233244.201294-1-sanman.pradhan@hpe.com> In-Reply-To: <20260323233244.201294-1-sanman.pradhan@hpe.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR84MB3523:EE_|CH3PR84MB3989:EE_ x-ms-office365-filtering-correlation-id: 3bc0fc57-5e95-4932-e1ec-08de8934a0a3 x-ld-processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021|22082099003|56012099003|18002099003; x-microsoft-antispam-message-info: keV2SzwW23FMRrfFBEyjS4r79bhWSF0DsifkwLrOOUTwA9zTdTq3pR+WGeFI+4cb9Unpu2LlpnAxqkzhfHUk/2KGAN6JHo0abr/OwyJIo8YwlMB8Pg684GKBaAB0BccoIKIF/6s5oxVzC7PgzqcnMhvc3vDtw6dItqb+hG1lRP4L/qJOhaexBPDFM0QgMRQXY0gQ5RqFG3F05vj40BvejWjy2E+JtPItubtXhHad5soYh/kTHuhydNMAnmCLr6UZsVQK8jAvyvovIaLJU3/Mq0TIEfg2l0/NORhwrH+OID2IPNPQuKhf9eB5hjTRLFpDH+4bq4mMRWKU65noGaPH8ELfmCIXjuvK7NQp+dcje36S3vZ/1zPddSTQFAovoXHi6cKlrZzvutQ3Lg/Ky7XoF8LFG3Fx44zMhF1g/yPp0BBnJOfSPhKUvBLMK/Xy5preV2fIr4MHJ+2O95c1kLL4hKW1pHKjlz53hKBtbgkhyRN6EyDYwk7dOoCJ78MOmCt/MCIQe1DFAVQeSFsINDnnjFmTZfRUQlW01HBigi3mhlREIGmUrIbxrr+/mKHt/sddi8huDWPDz0K8bWPLmKfiUj9zMoS+UlQpSC/hH/lKrD9Cv0uBpvT+dzs3Yybi71sHt7hAO15vt2dcJwxE+2EEGz72VAyPWYVnIS+BuE8AM+Oyn9prqg112jfse21zFWAd4D5rZPEpZAxPtCAMC0Y4mStfMP8Vul+Wg0b1yYvz24/lGK7ivNCETQGkX0c10H72Gq61Lz/C6NOvdwLKESeJMvpg0wjJCCJ9p8nptYEbhX0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?XsZ4YGDIV/mBVRwNfSSkdMTGkU84pcbqSruSBYpgDDBNCytQDX+hb1O4X/?= =?iso-8859-1?Q?sACKzS6pR2ySu74eJeuR+dqVBLiMAoM9BwB4ew4GnusDJAMr1tIwhib9gG?= =?iso-8859-1?Q?lZXgctjCfPQ3VXvfnZnXHbQnIw2d3q4liAkl1/w7Ea378+aWSSaDahaqiL?= =?iso-8859-1?Q?OLjVHsPMDaDzmXQL5RgxGQWYdW2HyMrCzW7dfUgiejQMiddnfQixzuXHul?= =?iso-8859-1?Q?B0DYIEmiuMnc8anzI3FPSIiVX4We7Plg3+mXRdv/LNakxZH+yQ0UcbYxP5?= =?iso-8859-1?Q?Yytwh2mG38xibYMZtpsVHDbVr7ASq6eGRtFdVZ05q45zqdUYXupdiiGQra?= =?iso-8859-1?Q?XHD7wx+32QKFru4T7H/R7D0A7CAS+1KhC3oErjqbZA2ZOFw+L1uFktrZmD?= =?iso-8859-1?Q?AfrwWjj3eQ0O4DtFPDgZBZmM9UHEYV+Up3tagt/C8Ln6KT8yYSDj9KmFiq?= =?iso-8859-1?Q?nj27HyYKu6Tlei1Czpcu7IFML1qUBWcUJxVRH9drHtVvOBKYYVSHVuktqR?= =?iso-8859-1?Q?El4hcqvXP+a4ZbpWvCCI6vHTmJaV7UtYokUzeIICar8w8aQ05DKw46rMxa?= =?iso-8859-1?Q?fum75GNdYe1jI8H1SVFoLQzVZtlsXQz1JlnX596Sb1hP49U7vuCBj0ab1U?= =?iso-8859-1?Q?5B37m67GJZc3w4Nc0cOE73xo2XBRCX5EKDOH/vgIhuKmSQrAaH7G3PcDQX?= =?iso-8859-1?Q?e+xi9HXNZwvfx74D6Fs7HVYTt9WO/adpSkjplt7NSRLX1dtnkfdCcizFVN?= =?iso-8859-1?Q?Lmo1AhNahoLKdH5YqmFNeS39mcSTY9kiTFpsiNwh6hLx3zCdey5NsjpEyf?= =?iso-8859-1?Q?fbu1b/XKWJ/zKeczWMKFYs93B8FgU2dB+zLtC4nzm/GT9JG8pqC8NjjdBy?= =?iso-8859-1?Q?F8pmkF6nmDxzO5xsfcFv8CiOc6UywNYJmh51nKHPXSce0ca8Iy+1aDUHrg?= =?iso-8859-1?Q?jSAWOZLaiaAWi7ylPKI0ghIFz9XGYrjoCSshNiaO33I3nVAAbKNzwsDGEc?= =?iso-8859-1?Q?c9+Ud4IpGFDsjJc8LASuNVHHwNRsVN2T8ybnwgWLkq+qG8Tmieypp0RYas?= =?iso-8859-1?Q?6HdyiLTNsr7IQkg0jBYdtQzWwd5RLwXFLT7vA/F/UBIGWPySfl8M9Xyb0n?= =?iso-8859-1?Q?JqAw+0K2sZoaquLo3A+Q4EavVnuAwNkLlg5SxQUI6yO5UGdcu5lwh9dgXZ?= =?iso-8859-1?Q?gV7gERD5s+uN6+hyF1ph7M4USeX+0s246K0F3l5CMbJBKeJn6PddUXlkgS?= =?iso-8859-1?Q?zLgg3iWmveIGzdhZsYlxTj9su06lE6YajwoUTH8n3Y5D/htJLrTzbQCMRH?= =?iso-8859-1?Q?K+CAnLvdxrrR3qVmqFF9ud9TV4+nzWaxM0VB56yEZJq9A5gULuqKi5sJpk?= =?iso-8859-1?Q?lR7PcY0k5R6uA+a3JI5rg2VzmayNGQxj4kCEq26+vRIpo4Gj6t+tI2A8TB?= =?iso-8859-1?Q?PjxKUjZhsHEzUtZv/2cauO8aPBTMwZb0v4KropPzowxD9mxjB7ViQbANqU?= =?iso-8859-1?Q?iSVj5WPB8zZJL9s5f7gKprm35J7djpabcj95q7+XelYxaY9kN35LjaV7f+?= =?iso-8859-1?Q?x1dI/WUPertPGSKpnO+iLRC4KIUSN/NvYBU/WWmpwQMExRVIUhzg/ScC5I?= =?iso-8859-1?Q?2ZTT8bBHiS4ePCQPYogRfaGElUC6/mZRH6qBJh888gfHfYuIlWNNRqgoUL?= =?iso-8859-1?Q?XUjRW8ZB+7R8iMRBIHnxe1fY2nZ9IEPxrilxfYs/54YfAbCoSZiGttByVI?= =?iso-8859-1?Q?1uWtcGCAG0tveMn6iIJPQ4gJpwdZ29TiJkuMqmp68s6kKBspYLXefUTikd?= =?iso-8859-1?Q?fZCvdwfRaA=3D=3D?= Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: h5gCXwlkKQ9H0nHk4whT6yUVrUK03YGimJftF5cJxEkBIWkH9Zk5FairTRwZLYaZIPhBnaViToRccKbfiHCDqEdfSYeyCAmWqyFweHiqBKA+JYmp/jT/7PTysxNJs+NGdKPsRgUJFl+CRIg/fh+e4lPqaOMqRFHIQu0fr/dUCrP9CFfhz0NCEczwHpqcDGdBJN9c45QKDNDYyOpEOc24BFEExb7Q6alPXXoXyxwXgeer7bDKQLUkNY9muiXMQjnBHiAScF9sT3Y6xxcZT666LonE6fybu3XE6GMXzt5jk5B0JIWnsUxk6klFluOTBPt4nA85D7lgukO42G/J+hc8rw== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3bc0fc57-5e95-4932-e1ec-08de8934a0a3 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2026 23:33:45.9259 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rrqAQq6zqTNVD1ijAS50BYP2F0bQWJOkxNIxClp+HNMK18Xpr+0oSl0NqN4HK8lNrwrSDvby8pknm82yXNjDdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR84MB3989 X-OriginatorOrg: hpe.com X-Proofpoint-ORIG-GUID: jVm--Wcjwj6_l3Vbq_FL2UQze3z3HB-R X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDE3MyBTYWx0ZWRfX5/1/Okjx1CDs J+7tOSUDt7ElNz7vcLmji+b5WjPBF5hol9YOVve/KKq17Ovq6TMp1gFmnkrkdp4EUkcQRq46/Jx NrWeO/zMnstwwCunihBNQ7/ST7i70Sni222C0ANkYeaBlXi/oO/ymlXOHo08gp87uOzBNkElo1f 8jXUUrPb6Sz+kJfbN4ZNYb0jaEt5hBvRSG6hkXzJszgffB3XrBQpE/hHSjdxyxEScwZKpw4fJGr bF97g6jfSF7Y4PcLEJlq1Gn7kkToDKa103SIQ9oxYkPcLQEIU222TEs6WqzESsAPDmHP8iFGP3P UydLBIb/s0ly/z+uF8Ynr86rYp/Mu0lTeWFvsyKkO8A091AaUH/RG0zijFtD14gyYo19I/oljKK 0BLuSRrfC4n7h9CUfkJBowqSLKUNvxcKhq9vEN81xJ5QLLB+Y3AGDdR63JXJy+9kstJ0nINToss IW/o80GPaUhPvXy95uw== X-Proofpoint-GUID: jVm--Wcjwj6_l3Vbq_FL2UQze3z3HB-R X-Authority-Analysis: v=2.4 cv=ELYLElZC c=1 sm=1 tr=0 ts=69c1ce16 cx=c_pps a=A+SOMQ4XYIH4HgQ50p3F5Q==:117 a=A+SOMQ4XYIH4HgQ50p3F5Q==:17 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=8nJEP1OIZ-IA:10 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gQcMVamqm3wCPoSYhaRC:22 a=k7r4yCLl9DVLXMiQTbtC:22 a=OUXY8nFuAAAA:8 a=VwQbUJbxAAAA:8 a=Knx6zecuWxaYfDB9Tz0A:9 a=wPNLvfGTeEIA:10 a=cAcMbU7R10T-QSRYIcO_:22 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_07,2026-03-23_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 malwarescore=0 bulkscore=0 adultscore=0 priorityscore=1501 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230173 Content-Type: text/plain; charset="utf-8" From: Sanman Pradhan mp2869_reg2data_linear11() and mp29502_reg2data_linear11() decode a Linear11 PMBus value using signed intermediates but return u16. This can silently truncate negative or oversized results before they are consumed by the driver read_word_data() callback path. Those helpers feed values later returned through the driver read_word_data() callback path. In that path, negative integers are reserved for errors, so successful decoded values must remain in a non-negative bounded range. Change the helper return type to int and clamp the result to [0, 0xffff]. This makes the bounded result explicit instead of relying on implicit truncation to u16, and keeps the conversion behavior consistent for all helper users. Fixes: a3a2923aaf7f ("hwmon: add MP2869,MP29608,MP29612 and MP29816 series = driver") Fixes: 90bad684e9ac ("hwmon: add MP29502 driver") Cc: stable@vger.kernel.org Signed-off-by: Sanman Pradhan --- v2: - No changes to this patch in this version. --- drivers/hwmon/pmbus/mp2869.c | 4 ++-- drivers/hwmon/pmbus/mp29502.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/pmbus/mp2869.c b/drivers/hwmon/pmbus/mp2869.c index 4f8543801298..fc4ce854c9c3 100644 --- a/drivers/hwmon/pmbus/mp2869.c +++ b/drivers/hwmon/pmbus/mp2869.c @@ -65,7 +65,7 @@ static const int mp2869_iout_sacle[8] =3D {32, 1, 2, 4, 8= , 16, 32, 64}; =20 #define to_mp2869_data(x) container_of(x, struct mp2869_data, info) =20 -static u16 mp2869_reg2data_linear11(u16 word) +static int mp2869_reg2data_linear11(u16 word) { s16 exponent; s32 mantissa; @@ -80,7 +80,7 @@ static u16 mp2869_reg2data_linear11(u16 word) else val >>=3D -exponent; =20 - return val; + return clamp_val(val, 0, 0xffff); } =20 static int diff --git a/drivers/hwmon/pmbus/mp29502.c b/drivers/hwmon/pmbus/mp29502.c index 4556bc8350ae..1457809aa7e4 100644 --- a/drivers/hwmon/pmbus/mp29502.c +++ b/drivers/hwmon/pmbus/mp29502.c @@ -52,7 +52,7 @@ struct mp29502_data { =20 #define to_mp29502_data(x) container_of(x, struct mp29502_data, info) =20 -static u16 mp29502_reg2data_linear11(u16 word) +static int mp29502_reg2data_linear11(u16 word) { s16 exponent; s32 mantissa; @@ -67,7 +67,7 @@ static u16 mp29502_reg2data_linear11(u16 word) else val >>=3D -exponent; =20 - return val; + return clamp_val(val, 0, 0xffff); } =20 static int --=20 2.34.1 From nobody Fri Apr 3 17:33:20 2026 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) (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 64E00370D48; Mon, 23 Mar 2026 23:34:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.143.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308865; cv=fail; b=pO0bsCoA3pwzRhx+9MiGT5TTMNrSKhE7pbbnn+aA/as/MGM6qG4vAE+2txP1nYhpLHRdtz4Jaf3ZmoGOVNwd5B7eixBWPIRu4A0SnpUkCTesATjbrmTSVea+8jck0ItPVFT4olq6bfxaLltUtMrQB7FVpnO0Wri7PLJ2ilt1byA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308865; c=relaxed/simple; bh=QeIeSkqG4X5+FXTzY66VgP1OSchW7vYm+xZ+8KFrohc=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=RZyJDExG74T/zqTq8Ifokau3LsjnSRGcK45SFwJogQKNNNx4Ybi1ua6JMMpYuNCgR6nNjsnBNrMSBzUNswP3Sixx2FJWd/yUMhK4SqugKcFGM+0cI2PpxGw/IYwGDwIjcqRIaE22hlzeI/3bueC/JHcWLuLD5b19jBYnZGTef10= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com; spf=pass smtp.mailfrom=hpe.com; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b=IG80FtIH; arc=fail smtp.client-ip=148.163.143.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hpe.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b="IG80FtIH" Received: from pps.filterd (m0148664.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NKEOpC2791088; Mon, 23 Mar 2026 23:34:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps0720; bh=mR GWdUnyENfn6j6TIeLoAAKRmRXY7mEtuhoTQFXwjWE=; b=IG80FtIH3gpyHbQuUW i5UgZXboiQcUZ6WXllaxmk04RacUF9EPPi5WIZBg2cYfOxrHQZBGgfPHbBSfS7qJ drLXlVbC0klNqTanZsFlcJf/TF5EKjuRYOOvY5NI5EglJKqUP/TTrI+s3SO7aHLB HQw+cq2wGiL8v2KwVSupNYpeGHWTMv+9Ybyz4lSlab+uL0D58MqGOrnJHRgjghA+ UUYX8UOpeTcuPni6g7Ro9ZmElNo14wCjCKSV0JHtv2PtVMFtUstAXXTI879cPgjC XIO80d8SR3nJd3nawiz0BDDwQa6/8iNj2ZUN5EHn+eDKFxbjXWZI9ZQIRjKkIiCg J1cg== Received: from p1lg14879.it.hpe.com (p1lg14879.it.hpe.com [16.230.97.200]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 4d37nswgbd-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Mar 2026 23:34:09 +0000 (GMT) Received: from p1wg14926.americas.hpqcorp.net (unknown [10.119.18.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14879.it.hpe.com (Postfix) with ESMTPS id 88318D1E6; Mon, 23 Mar 2026 23:34:07 +0000 (UTC) Received: from p1wg14925.americas.hpqcorp.net (10.119.18.114) by p1wg14926.americas.hpqcorp.net (10.119.18.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:33:58 -1200 Received: from p1wg14919.americas.hpqcorp.net (16.230.19.122) by p1wg14925.americas.hpqcorp.net (10.119.18.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17 via Frontend Transport; Mon, 23 Mar 2026 11:33:58 -1200 Received: from DM5PR08CU004.outbound.protection.outlook.com (192.58.206.35) by edge.it.hpe.com (16.230.19.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:33:58 -1200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oHQKkZEvwDbnbhje1RNWnbap4tIELNC6EzLcSGqDwJjMdAU4nNizeeyqYpp1yJgcoY8WQ/a9sVBYogUvLo7VIIiGOAm31aTDOLeuRgEFUVunjLcilPl4kXpbAoYmdSOO3YIU5hYMKWvoljl61Ufxol7fM1z0b+bzWj5gSQ53POVnSjw+pD8jRCoFoBKJ4SJ9hzC7OAIfmKd26/z2EgdscfGKYTSfrgvl7khajCEhwnT/GDco9mf7L5o+K1f0dJZNcUaCWWXbYsOSKR+zT4AjceS1Cj9phF9ud8etE18QYtuegHwuS132+hsyoZJsrc1sOu1h/bffUWqaFFWMA5Jp3g== 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=mRGWdUnyENfn6j6TIeLoAAKRmRXY7mEtuhoTQFXwjWE=; b=zU1bx/FPPUbw1KF0j0ikiJ5P9qwFzQNi9kEshcHtVryll0yI0zUFHWAf2hqppaRQ/YQIPHReQk/bvLWgLgd/8rHgHIWhlSo3DaMaHKlZC1Sc49janpCp71mkcJFyBFx2l1+Byn3nPLEmk7acHBdygJ6sNOrlJudFGKLZsL80CX9pngE7MFcbJotx0LnAh8FOC5vLGJ6KONnIfhMB9R7z3CGjfwNBp0bzar+i4jaS0u43a7QMAFvdThq9p2Jiiu8axmVUsLMptdjQso0ZdcBnHfg6fBEtvmGFPXrm1hEMQyZUxpiZ3sAngW7My1rxCExcPB0rbWZYIxak8qhTKuLL0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1cc::7) by CH3PR84MB3989.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:253::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Mon, 23 Mar 2026 23:33:57 +0000 Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f]) by CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f%4]) with mapi id 15.20.9723.030; Mon, 23 Mar 2026 23:33:57 +0000 From: "Pradhan, Sanman" To: "linux-hwmon@vger.kernel.org" CC: "linux@roeck-us.net" , "wenswang@yeah.net" , "chou.cosmo@gmail.com" , "linux-kernel@vger.kernel.org" , Sanman Pradhan , "stable@vger.kernel.org" Subject: [PATCH v2 3/5] hwmon: (pmbus/mp9945) Replace raw I2C calls with PMBus core API Thread-Topic: [PATCH v2 3/5] hwmon: (pmbus/mp9945) Replace raw I2C calls with PMBus core API Thread-Index: AQHcux2Ecz6wv6xwp0y1RDQes7kOfQ== Date: Mon, 23 Mar 2026 23:33:57 +0000 Message-ID: <20260323233244.201294-4-sanman.pradhan@hpe.com> References: <20260323233244.201294-1-sanman.pradhan@hpe.com> In-Reply-To: <20260323233244.201294-1-sanman.pradhan@hpe.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR84MB3523:EE_|CH3PR84MB3989:EE_ x-ms-office365-filtering-correlation-id: 3d52caa9-99e2-4181-bd22-08de8934a746 x-ld-processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021|22082099003|56012099003|18002099003; x-microsoft-antispam-message-info: //e5gCzbgSDm1UU56+/D/AEQrVHXcxozKOuY3p1oQ+al1yqRaRupDnpwd3iucyu9dJAEP13o9e+KWkokNOAEzyAQsqzcByxnhfL9nT1Mak4jK76EnHYW6EE7aLHTzziBJhHKhZ1gkX8CtMfYGYRzOb9CfEuApDXGiMf/PyDQMQwcnztI86zqxezkOkF0SrDNVRRR/mb2LQP+QmxmVPfFx4+XExuBgu8rTbXNvybBXJ0WDI2MZHhlp8TPx6lYkSyUaEWpyfI3eyIu9PqLvyqxoWX3otww7aJVFuFwf8zar8jawdHRxvAe8gMdFvG0hNMhhhnnePPCTOUNVbR4QLUW5nbQcv214doDlm/Kk2T0we2W5gqZfQnNtaeBzjtcTk3dR+1eL/7FhBZNv9Q9/PmEFXilXjMoQ+fCYc7T0xsxoMCt7QAzryuOwwMAqjLERyeOpLUekHtrvQl8JMxQTxHhfD+iXSy1FnPwTUJE1LbtFzH64J4Y2S2efsrOOV3Y7We9OcaIO34L2hJ86hDRKLQPZnkls1mLtsPsMe+AmuWEHEigXhDXoShMeWdPLPJF3UYC+dVEdXwbObvqT/zGvijmqDYIhr0D15gJc+HoBy6HMglQCem+cZqNaeCOOefBbdMv7YkCBjG6+nu3flT1EKPniiV+wc7t8jQIyZgtBN558z0twurf8u6P57s/v83SmUfn1w2NUo2kuuO7GWcdH5nJIh3TibLVlVxLe5wJRf7YsxGWc/XXC0Vq0v92Q99oV9OtXIvcOV3iNSRXvcO1P+Bnx2LUzdowGbWM4wzKBHtpAhY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?rFmquCAggYpPfXWiCaOcef36qwcxVP3CIShz5qzjDqpl5jb5Flh8ewEdSE?= =?iso-8859-1?Q?j2+zrP89b09slMpTRzv5cD0T80dfWKhNP/Joi8i4b3b1hOzlw2YKqW/bes?= =?iso-8859-1?Q?nkT6gvNblXrHEhUsnK4z/rgOBeynM3pg2hFyHz5qjcCX9jbAI3MplIk6Qm?= =?iso-8859-1?Q?XiG+CS4oe04cbEPcXNEepkbkTz8GTW6sNHPNDZpDXVza1fnxxiWP1o9J+G?= =?iso-8859-1?Q?mZGqJp3bQFTTJtopgi99igtpPuH8W7H5uYNFtkmOZ53D0y2zMVHCEvYftz?= =?iso-8859-1?Q?3kREDFmXVCOcXXfg1jhLL6GEiCDYrUEn0LwQVlq1L6b729qOm5LQyJN4zd?= =?iso-8859-1?Q?u2/dUP78SlpqoeNnP/Q4F2YC9O0k+e6hPtMUIOmeqB1ylp78mKOvH6tXOP?= =?iso-8859-1?Q?jvOgMcTYqnYHql21nc0+KNaTAZWB7gcXS3quunQhDpX6LUXLSfULvFkpWG?= =?iso-8859-1?Q?K9wrQI6uLIrIQ+K5xMvaSMDINZooGcstjNw3Kg/DCNg2WqRw3SrxFrzqLR?= =?iso-8859-1?Q?aDUH1wJVVBVn1cZpstKnBdL2Ay8JDjRdlh4qO28g0mC1Y/arT6t9vIk4Ad?= =?iso-8859-1?Q?24fDx75lXT+Gs2XxKvkxXguIphM1CZGYRFH0hD4buDbv1rjWdKGMRyA2iJ?= =?iso-8859-1?Q?Fcz1EprX1G8pIqpdqYKK/aoewaj3xxuS1+dTqp/bnaOB/hG543umqV4cww?= =?iso-8859-1?Q?bf6szSNl+FXR7LiUTgdG1UP12jMCAguJMlTZW6gmQKVH+2RxfjNdwPbuVS?= =?iso-8859-1?Q?mqHbWK+XB/vdQX2KMHeCM/+mkvUOux1+FKnRGDKpvOgJvN5+s/UXmfSptp?= =?iso-8859-1?Q?s8yU9BUlunAewtcUgW/lJDEHAUKovef0FWxZpIFgiQjRIpNPfTtvEctdoj?= =?iso-8859-1?Q?Fz9to6Ql0vGy5KarTrMAI6mhr03NTx225qjU69tEp4kFDVDzGdRHVNXmDU?= =?iso-8859-1?Q?aLaruRlymMlnNfCmgwPrD+3qdvCk0Ontbg25oftiofH/ApcgfhVdFoDqWY?= =?iso-8859-1?Q?l7xcxhtJL59T/resmRPCBzQ0m8Aebv+zw8OCMPerNLfDuN8FeGZljaTJxN?= =?iso-8859-1?Q?+zTES0WLnADsbyG0e6+PvhAoX0gaG8Ozc3Z9araZHlZDHyxtn1jAKZ6vi6?= =?iso-8859-1?Q?RPr4/zBzZY/ZjFqgTgLebLl3CdjwSHgYDot16bX+jGEzOwn/yk65fDX8He?= =?iso-8859-1?Q?qLWt/le2I5ZN5KmROw5XU2uwRABmDk9TYjOzNkTYAzsOQBj9d1k3kQ56ky?= =?iso-8859-1?Q?N/BG9zEwo59wxkTKDaULYiTFETzmj8KriFsOTIZSVfhSKK6olKy1bObgbt?= =?iso-8859-1?Q?7DjlqQ7+I4Hhy8ONqII9JZPIZ7jSMnyUmU9dGGJND/Lni1xQPn6h7Rbsm1?= =?iso-8859-1?Q?4m/36Yfg/6PfsQrHLAJl0nk/GXv6jL9IgRiZEL5vbUr9BMe8c3dBNy0K6E?= =?iso-8859-1?Q?mKm3PfeB8oIAmC49IxvnVHOoZkA25C2WuMI797QzdGS0lLsclnsS+KlgXn?= =?iso-8859-1?Q?CpEhbIZEFB0yPQwdgqgCKWUeDpyygJPweuqE5DY29oM4rnzTWfixx1SHJf?= =?iso-8859-1?Q?hbD1SKsXTPHByt7eTTGYZPryqEpT0OYK4JcjQz2IfRnwIH9ycqeLJLG0fn?= =?iso-8859-1?Q?Eiy/6GoE7Ox/RkgQFx689XQaJJS6LyFAsY+MpmE7c5PrsxBdT37jQZbHKE?= =?iso-8859-1?Q?qSD0pcy+bMx+BQ56gKySL5JWB/QVEKw3dhXp+c7y35CSUR+yl/g+xupZEp?= =?iso-8859-1?Q?q4IIe7RRpvV4bihghKQZ59da02+0ZH0bs7thhwfmxHLjas2sxN7wdM6y7Y?= =?iso-8859-1?Q?qDUZdYv+nw=3D=3D?= Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: X/ER5bvzzuj34Z1Smo0B8unnlp+mMRH4UoHCYD1i9G9hIP7FfCHHjSCv7cLTzYIFKz5U+pSMO0fnzQp3kALPsNSy7I4cC+XoowehA35CVIPj3GhM0D8xNz7wDehdGO01GzWDl2mTBqrRG3JATJlz/+fSZy8pU20wGfOapQKggndq85cWGRlunDmeJY8VQ4zRHOkRXE7xaCX3JVm38vTYdAmBGus+1CFv5X3O/U5E711I5WdzPZYK/lxLdRS242qsli4KVwDvJHaI7Jkn23BswXxIWrKe+WILCYBcspsw+CZgmGBi5B4j6X60DSCeh4wEd3/HnLgewJaVyQgkCnsYEw== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3d52caa9-99e2-4181-bd22-08de8934a746 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2026 23:33:57.0366 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yT/JJ2miq4AlnZ2FLH/VXUry750IY8PP9FEsAVO4Ld2rp5JsF56rhWt7/OiwpQxgOAy0o5W+wptfX8oswqhcBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR84MB3989 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: JN3-TxKlmc-HGxRplqQDFguoIT225ZRn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDE3MyBTYWx0ZWRfXzXSFpHglW1yP g2xDShMFs9t8ZmWbHvBAPxonvAU2dKedHuN5YDFitq6CWyfSX4WUzxaUNqUbqbOEWg/9VcRar7F XzUKi6lSGb+7iv/OS5zX6EJwLqCDczXQwGY/9EHUQbNboClug01TpvaUfzBdytY2iI6cCMqaPQo E0YzIkDO0w/VqQI1LaJeTt4eiQdWIZmXz7+ZXSpCBR1Ai/DrpmrwtigCc+/bPz+X5EVzqP0jAku S56iNsT/HW/ud2IWSRDE1Fx9T6mFvPH13htyT+HnqkZy4Vl5LDwGUfB76Q3iTE6VrFaGyusFAQ7 +hMHRR4nvTn7Sa1SO1NciUccZa3h+zim3oEqazZFqQ5yFsDNuVXNnYowJ6GCroNfzgimJnhQWJa yRzirNLTX3e4FwUKVu9ATmCDgvw4/z+RheahRmEbSwPIzUbY65D8qRqA/VL3jAqGyXH8Sq/PyWs NMHy99mSHYjm+qOU9Nw== X-Authority-Analysis: v=2.4 cv=Q/DfIo2a c=1 sm=1 tr=0 ts=69c1cdf1 cx=c_pps a=5jkVtQsCUlC8zk5UhkBgHg==:117 a=5jkVtQsCUlC8zk5UhkBgHg==:17 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=8nJEP1OIZ-IA:10 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gQcMVamqm3wCPoSYhaRC:22 a=NCWKwCw8Xy9Og0ibBRsL:22 a=OUXY8nFuAAAA:8 a=VwQbUJbxAAAA:8 a=whyYXC9HAFXPZnEe4DQA:9 a=wPNLvfGTeEIA:10 a=cAcMbU7R10T-QSRYIcO_:22 X-Proofpoint-ORIG-GUID: JN3-TxKlmc-HGxRplqQDFguoIT225ZRn X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_07,2026-03-23_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 bulkscore=0 adultscore=0 phishscore=0 malwarescore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230173 Content-Type: text/plain; charset="utf-8" From: Sanman Pradhan The mp9945 read_byte_data, read_word_data, and mp9945_read_vout callbacks use raw i2c_smbus_write_byte_data() to set PMBUS_PAGE and raw i2c_smbus_read_word_data() to read registers. These raw page writes desynchronize the PMBus core's internal page cache: after a raw write to PMBUS_PAGE, the core still believes the previous page is selected and may skip the page-select on the next pmbus_read_word_data() call, causing reads from the wrong page. As a secondary benefit, switching to the core helpers also routes all post-probe accesses through the update_lock mutex, closing a potential race with concurrent sysfs reads. Replace the raw I2C calls with pmbus_read_word_data(), which handles page selection, page cache coherency, and locking internally. Remove the now-unnecessary manual PMBUS_PAGE writes from read_byte_data and read_word_data. The identify() function retains raw I2C because it runs during probe before pmbus_do_probe() registers the device. Fixes: 6923e2827d58 ("hwmon: (pmbus) add driver for MPS MP9945") Cc: stable@vger.kernel.org Signed-off-by: Sanman Pradhan --- v2: - No changes to this patch in this version. --- drivers/hwmon/pmbus/mp9945.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/drivers/hwmon/pmbus/mp9945.c b/drivers/hwmon/pmbus/mp9945.c index 34822e0de812..1723ef84eb0c 100644 --- a/drivers/hwmon/pmbus/mp9945.c +++ b/drivers/hwmon/pmbus/mp9945.c @@ -43,11 +43,12 @@ struct mp9945_data { =20 #define to_mp9945_data(x) container_of(x, struct mp9945_data, info) =20 -static int mp9945_read_vout(struct i2c_client *client, struct mp9945_data = *data) +static int mp9945_read_vout(struct i2c_client *client, struct mp9945_data = *data, + int page, int phase) { int ret; =20 - ret =3D i2c_smbus_read_word_data(client, PMBUS_READ_VOUT); + ret =3D pmbus_read_word_data(client, page, phase, PMBUS_READ_VOUT); if (ret < 0) return ret; =20 @@ -73,12 +74,6 @@ static int mp9945_read_vout(struct i2c_client *client, s= truct mp9945_data *data) =20 static int mp9945_read_byte_data(struct i2c_client *client, int page, int = reg) { - int ret; - - ret =3D i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); - if (ret < 0) - return ret; - switch (reg) { case PMBUS_VOUT_MODE: /* @@ -98,17 +93,13 @@ static int mp9945_read_word_data(struct i2c_client *cli= ent, int page, int phase, struct mp9945_data *data =3D to_mp9945_data(info); int ret; =20 - ret =3D i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); - if (ret < 0) - return ret; - switch (reg) { case PMBUS_READ_VOUT: - ret =3D mp9945_read_vout(client, data); + ret =3D mp9945_read_vout(client, data, page, phase); break; case PMBUS_VOUT_OV_FAULT_LIMIT: case PMBUS_VOUT_UV_FAULT_LIMIT: - ret =3D i2c_smbus_read_word_data(client, reg); + ret =3D pmbus_read_word_data(client, page, phase, reg); if (ret < 0) return ret; =20 @@ -116,7 +107,7 @@ static int mp9945_read_word_data(struct i2c_client *cli= ent, int page, int phase, ret =3D DIV_ROUND_CLOSEST((ret & GENMASK(11, 0)) * 39, 20); break; case PMBUS_VOUT_UV_WARN_LIMIT: - ret =3D i2c_smbus_read_word_data(client, reg); + ret =3D pmbus_read_word_data(client, page, phase, reg); if (ret < 0) return ret; =20 --=20 2.34.1 From nobody Fri Apr 3 17:33:20 2026 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) (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 26E75358369; Mon, 23 Mar 2026 23:34:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.143.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308878; cv=fail; b=JLWGB08ODvUGTWO4xNsHkmKuBH7y4C4DK5G2giJv8gg5Qe8OgVr4PVbS4vjFtRwKRZIzaedlCq2Dalr4B0S1poWwejxR6ytoUCcW8UUCKdcmsssVZZZMVvOV8Q5ZdXe+mFNYyUcEJ/NqDNcBadKlJdlD4uQAfxIjtnpTxgiWQHo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308878; c=relaxed/simple; bh=YsmXUVF2EyI9cQHxC66p5j52Df3L0eIBaJkjDrPcMbI=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=q2KvBkulVt/WHFDr5sbGDbmV/VvD1DaFrvSRP5gb3UbNKxmjgTCFjFm2eGLNr+KmbOV9glS1CZPjE4nzjkWVVAPXCyddt6RBJd8D339pBjjYyn/1CXPCY1xpxmYh7snmn8HqR747FoNdc9PU29OjBnD+Hu1y+4aM5lbsIGxJaKo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com; spf=pass smtp.mailfrom=hpe.com; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b=EmGNdrdU; arc=fail smtp.client-ip=148.163.143.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hpe.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b="EmGNdrdU" Received: from pps.filterd (m0150245.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NKWIDD3517312; Mon, 23 Mar 2026 23:34:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps0720; bh=0D dfeUnIkpITDQRbqTsqdAKlbGqlY2e2iaLUDZFm4UE=; b=EmGNdrdUB1O93HrU09 eHlleDuHZdncml2t4HuF1OaE1yItzWbuHEhDvCA9JpLNiKzFNzqjXEwboAtvl4YY /VJEXNRA+DHZ7hp8ubupFMdD/mAgd1foQdstnNcPBWQSQhow2ejIjF5hE9/pGhLk ZbvVFt9vCRa3vkjDhXspkC3ibI9Nduch/tTIubWlkoBqb75LE96KxwrEf1JM+obu YRXIrMzislTlL7rwGUI8aa/TvFH6aHiMpQ4bjzJqFQQ0yfIWDrk0RzIdwxBc1m5j 5uUgpLRPpzQxG1t24LNgkxgF/Q/cmhpwsLlwzkcsskozGxRzsQaPaav8eUDfNf4c OqYQ== Received: from p1lg14879.it.hpe.com (p1lg14879.it.hpe.com [16.230.97.200]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 4d3aaxk776-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Mar 2026 23:34:21 +0000 (GMT) Received: from p1wg14926.americas.hpqcorp.net (unknown [10.119.18.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14879.it.hpe.com (Postfix) with ESMTPS id 3037ED1E2; Mon, 23 Mar 2026 23:34:21 +0000 (UTC) Received: from p1wg14923.americas.hpqcorp.net (10.119.18.111) by p1wg14926.americas.hpqcorp.net (10.119.18.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:34:15 -1200 Received: from p1wg14921.americas.hpqcorp.net (16.230.19.124) by p1wg14923.americas.hpqcorp.net (10.119.18.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17 via Frontend Transport; Mon, 23 Mar 2026 11:34:15 -1200 Received: from DM5PR08CU004.outbound.protection.outlook.com (192.58.206.38) by edge.it.hpe.com (16.230.19.124) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:34:15 -1200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Kz/yynwkhmejwO4vei3rARG8bJLE10XH0MA+eZo1/Z94sPgZk8mJiK8kKpgykFvgkyaZN2WIGo2Z8VqOX3cDANDS9/T4E6tGMKHJRiaWuZqjTRfY2R9ITC80m0yk29Rk5S0PHOsLnPIkVLaRIXrwZgS+GQs7dU45HaEM3gKsLM+DIV92XrBX4LNayDiaSH8MiYqEch/AsOS871gSAw74aGxTDFisO/K29591YP9cTuXeNUV23Vnbkwo6KG3iE5IAPtp7E/o3k7Qz5mjNbvnSMs8KwvnC76Oy+IX4qVCVjqSuXSZwa+RFzZEOXjtbaC4LlhB3W1snvsbZR2kEvkojLQ== 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=0DdfeUnIkpITDQRbqTsqdAKlbGqlY2e2iaLUDZFm4UE=; b=ixO6eaee73pDEnoz+Mv4dWPHFW0b5fgG1Ve7xBWS+gDuXpVuqGiDn5DDxyUeBNnpIblNrgL6N0dfhotUHStQdEMl4NB3E9V3qn8eIGFGH+ssNznjlYqasgfAh5LAgtLWu+8JCfKMGnwtj+ezIiGi+aHgDHa2MO2/dFKjEjRDC90IAuHtAH1CzYjP9WGsW71AVLp0qrpE6EDksh43dHpuXhqZOKI0wIyu+f7MgXe+jePHTTDJWdQU1zudS/TDhHdOZxx9M/VzKkzZ8phc3S0C3KXCMMZn9HZUa3ssMvODUwNUqcBg6C8Nnd3DKj7sptY7bNJxNyTjUdw4y9ejdNe3eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1cc::7) by CH3PR84MB3989.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:253::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Mon, 23 Mar 2026 23:34:14 +0000 Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f]) by CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f%4]) with mapi id 15.20.9723.030; Mon, 23 Mar 2026 23:34:14 +0000 From: "Pradhan, Sanman" To: "linux-hwmon@vger.kernel.org" CC: "linux@roeck-us.net" , "wenswang@yeah.net" , "chou.cosmo@gmail.com" , "linux-kernel@vger.kernel.org" , Sanman Pradhan , "stable@vger.kernel.org" Subject: [PATCH v2 4/5] hwmon: (pmbus/mp29502) Replace raw I2C calls with PMBus core API Thread-Topic: [PATCH v2 4/5] hwmon: (pmbus/mp29502) Replace raw I2C calls with PMBus core API Thread-Index: AQHcux2OfW9YJVHOYE2qNhuN/U90VQ== Date: Mon, 23 Mar 2026 23:34:14 +0000 Message-ID: <20260323233244.201294-5-sanman.pradhan@hpe.com> References: <20260323233244.201294-1-sanman.pradhan@hpe.com> In-Reply-To: <20260323233244.201294-1-sanman.pradhan@hpe.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR84MB3523:EE_|CH3PR84MB3989:EE_ x-ms-office365-filtering-correlation-id: 1b6594d0-d700-45fc-e3f0-08de8934b17c x-ld-processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021|22082099003|56012099003|18002099003; x-microsoft-antispam-message-info: sHoxk060odwpj47JD9+rf1ipQkjf74Ix32gHOZgTEtjhq005HYo/eGgwIf10bo2bM74g7JJVdVABneKSy9f519K3A+vkGUyZKnAt7LLHpfWyuXwJnon92fovzucJP4VDt3z34DQ9oQoy32iWPjUEodVsuVMgUMzVNu5G1kPqEiFx82jP6iL9GxX3arYqTsQQ+f8kwfndHGALHWBQVB0wwLjvE8fd1wVihTA3U6QLPt2UA3VG3YGsYcPHYfoLrJ4Bimhyd+K8EQ2uB2lnIqAWf+VunhZJbn/c7vLBkvdDVvgLLcRSQ8wUYmTaNjbiJ+/4MjFF13HS0ZL91r1qnuxJONz+1DmMa24RB6eXvTZNP21AEEjsncrdD2RVsrX6k9ZAHGPAL9yLfvTlDTEMgUZ/AclJvFgRW8OSsydiii1K5Bg9m4orGLyYkU60JYDiRAVmeKtS6zK0Gd4uONT+jpUfBA1BFC8OOw0F7qErhIWTtMO4jOIhy723VC91OYil/Z6OYh495llgw5h/+hGl8aJA0wyFXfvHONfm9uVfeu0Gu35zuzdk7gbqwx5fDIpc5/jQCTVSrLdSl4DieSNLDJy09myxlmkcNustEQuRsoDdfH2N1MuIs5AqRAkHQD43uhagajmXdthEIXebpa/NNBzRotJsiOm4k4p2hHX0yvy6UZTMX7jOFgInd/8RZK4Eha1MPsGHzETUDOU7e1nrkh7rI9/LZFP7kflRbg7c3/iAfEfYQT9ciM/Tzuidmy17K7LmMYT1/aJEuUqnIMknKSpdkv0APM9gAhkqGmpw0s8FGPQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?SrOXL2HBzNaasc8WKgfmjWAJ0A/uwNYIYbbwz0zpWaXkga0aoIKHAOPcRa?= =?iso-8859-1?Q?B6n0Ei6H4bGobJQ4jsI0+76B+iwRN8g+qGzG9xcC5hIASq7lKlPR0WnNUf?= =?iso-8859-1?Q?eV80clPgyw+Bq/R2a8AEU5p2aYQ18kdfF/q3kZV8Vh6KBtGcU6YsmJcTpJ?= =?iso-8859-1?Q?8yHQ0xfDENWxfg10H0SLf6215v8DrdKV27LG3Te8M3eZ1L9ci1PVnmmCF4?= =?iso-8859-1?Q?SeKR/FUmuhwkr19BPDtUaouJ77wOa+HcE9G2QBuCxiOZI26GJsv+R7FOAL?= =?iso-8859-1?Q?3fnTFhdL72IBRp5b+Y5u7K4l5uy8fc80HUCy0HCzrPm19vwpIARyRypBLO?= =?iso-8859-1?Q?bCBYiz3wNuoG1jqaA+bLr24wJeY67Iay8vdStxVKhjvaCc9lB8gv5Mwy7e?= =?iso-8859-1?Q?Xd6wzOZGZOwZQ4vEjzFPLIsA0XwZPCnMbwynDh27fPEkh9WBK/i8Poc65c?= =?iso-8859-1?Q?1hKi5HysG5QKK8Veh65DsySiQZzXIRWXbRuILx3syXiPAIF5FpIQFbql9Y?= =?iso-8859-1?Q?sIYVOlPbIpXfA5GAEdf2qIeTCOyLOON1/3RydFpvGSfqEynth1wjVyubEt?= =?iso-8859-1?Q?K07rNflXnHDwFNJHq+Z+zawRV+0zVHEKmWrsZv3c8iDeJzhdyEEc9TLfgY?= =?iso-8859-1?Q?T3+YG3OhkRQqR9nbqDi/izE0JsMuj0tlEtLQE0oWoF0pS3GyJ83FD3OKJy?= =?iso-8859-1?Q?yOWl7ucadX7OwHOGuNnBx6OMpvNcgt4Tiv+kKLPw80G6xOknV5atQVNb7k?= =?iso-8859-1?Q?gzBqoiE72OOWY1zpznSXWYWeeJTzS4WIRHWpMPzHUdgDjcNc9jKuw0uvnl?= =?iso-8859-1?Q?/fjMrKNx1HSQPMlJ/M9dFdxzJrlKvNZvVXzGDhT8CDStfMon3atflRQeka?= =?iso-8859-1?Q?6Tf+guxCKJvSDfyNvABlvCR3uzjRwOZXrw16ZEQI388w8D5tTTFbXXbgnW?= =?iso-8859-1?Q?PA+eQXiJCK4fDyplFQTFN0QS1wKTcYS23mD62sg7E6HTx5v8Z0Qti6yCjK?= =?iso-8859-1?Q?vHrWY1xA89fmnMl3UaBymhlWnRUyAqVAu+/RqXrsJ/6Dkp6DTHtFLEWgX1?= =?iso-8859-1?Q?3W4mZL7hHL5bE6TjxTtG4Qm5dvAelrc1RQrb6dyyocjMoigadi40BxVucW?= =?iso-8859-1?Q?IHVXnWkOU4u29murs6aejHItnxUcJ4AIuV0QS8Egil3psQlSJ9u9LbmseU?= =?iso-8859-1?Q?0ZeFEwpMIurE3V6sT/ka7vthISNJZgk7R1UFh1ja4UhGOZCGL71F5eSbvj?= =?iso-8859-1?Q?TDTeznxcZuSlyuvGfybIuPuFOSE8YSWYkyGn1mztb8u5xFPYhb0g+QiggC?= =?iso-8859-1?Q?3hGGMF3/PEXFOs37Efstf+WmMu9Y+0IaZgCvHeNAwe1YZJ2gnC3RCI7WP9?= =?iso-8859-1?Q?TVmTeoi+RMJaiMHkW2XuPnnWSD9+viywQpMkeSbQo63N95PBc8KmpeVRh8?= =?iso-8859-1?Q?RSAY0kyeV1D9n08IjrmKIXyFp+kSeNu4O0HkO2qfAiVyv2/yC3y2LusE7D?= =?iso-8859-1?Q?D58bDaYUY1+sLHnewuPq6xb0fgajHPu8oJBzN+RJGoNJa/hdjWJaN1XtC/?= =?iso-8859-1?Q?GHL2Xqofg9gsYi4fruyp2MpKw+QIsPm6vA8NS/6e00y3IGNinWie4BgfY1?= =?iso-8859-1?Q?L9gxp/UQv3rwiypm4bZHBeJHFKI/zwmrtwtnRKvYSGM8oDoC5879+1Doim?= =?iso-8859-1?Q?/riGsc62HO7hiEjQ+0d5zmlh7s/sHKixqYN7u2Weti3LBQZDqOCADcyUIA?= =?iso-8859-1?Q?4Nsgp+RdQ2dsXmam2HNEujCwTM5iSjTZao8Fi+NeME5ekpw1h5bndvIvZU?= =?iso-8859-1?Q?2vD4wyInYg=3D=3D?= Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: vewYyfR0kprEPJkCtuCg/Li3QDY9zxUC3lPl9oJeIV+AM1AVNNlSg13+5eSPp1ULMUCbhwxg3eoRPAwcT6Ldzt7YmfVbzDtczfsZOxQGXe+29Q6T7eHSqlmMN81zJuBIXUni2MpCu9KRCZSFKUbO+GBoo9ewL2bvfVsv5ONyRwuvK0FWGEcee3wr9++CigBOO+xiIwmAKX6Zw7c+xAMb2JuePIBDmb4ophY+Q0xG6GgdMN7C+dE3BN50W+OVD25SbZp+YfdFB/BcQ7X/+eSIust4cF8Yyaw/DvEH7B9jdmZ5HxhHuV4pA2ZeuOrBsrzmo6JnAVHmyxM8OiQUeP8NOA== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1b6594d0-d700-45fc-e3f0-08de8934b17c X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2026 23:34:14.1628 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QmBX9qIPLPjJ9QjUzrKB6ZqgjNcIR87doqYeUz9NiBXwAv5A3JrlKVu8vlkbgt095V8DuRgmaLtL1wmH0asXxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR84MB3989 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: Trdam-NGsZJA9Mnfbd_NE5TJ2JZsU8XW X-Proofpoint-ORIG-GUID: Trdam-NGsZJA9Mnfbd_NE5TJ2JZsU8XW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDE3MyBTYWx0ZWRfXywvRnh4oM0YY o4WbZfIocT6TZWvfh+K4/9NkFUl5fWrssHySsPz7jq4JNzkf7mTRb+u1xX56nGHIvNWi+3nb6P0 pOoIeYr1U5rlAer1OU944I+9uuwZd2g4tM3WpFFvMg1/+dQW2LZhkTVH/Q0GziXvYZcgBjCae/L dnsE6Nzr9RjZTs6fbLDbzTuQJeJsyph/lEnaf9621ME4jW45/oHzUk6NG/Q2nglmPxL1A3NRKBD c4RuSChm8zJcyDDikfDEnmqTPan1tigkSwK4G7aA2a8Ckr9bw9p+Lgr1fpe1XmeuRejygMhsqEb Uq4EWc8ce92NA+oHtWiCqIero6pPEdChR6fwOEATTbSjtiNU0G5nyDx7z6TG+22CoozzNnoDXLx zbJ2NrT9XhsPNZmpSeehjhpif/6Pr1NPE4FIUU+XYKW3NdZ4fVIjI7nQawtq04IkrOAJyJh4YMe gER9IYUynIVPMH+3DcA== X-Authority-Analysis: v=2.4 cv=bqRBxUai c=1 sm=1 tr=0 ts=69c1cdfd cx=c_pps a=5jkVtQsCUlC8zk5UhkBgHg==:117 a=5jkVtQsCUlC8zk5UhkBgHg==:17 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=8nJEP1OIZ-IA:10 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gQcMVamqm3wCPoSYhaRC:22 a=6XKncaru_qjgLvANlS_8:22 a=OUXY8nFuAAAA:8 a=VwQbUJbxAAAA:8 a=0ch_ZG7wXMlDUe8ALHQA:9 a=wPNLvfGTeEIA:10 a=cAcMbU7R10T-QSRYIcO_:22 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_07,2026-03-23_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 phishscore=0 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230173 Content-Type: text/plain; charset="utf-8" From: Sanman Pradhan The mp29502 read_byte_data, read_vout_ov_limit, write_vout_ov_limit, and write_word_data callbacks use raw i2c_smbus_write_byte_data() to set PMBUS_PAGE and raw i2c_smbus_read/write_word_data() for register access. These raw page writes desynchronize the PMBus core's internal page cache: after a raw write to PMBUS_PAGE, the core still believes the previous page is selected and may skip the page-select on the next pmbus_read_word_data() call, reading from the wrong page. As a secondary benefit, switching to the core helpers also routes all post-probe accesses through the update_lock mutex, closing a potential race with concurrent sysfs reads. Replace the raw I2C calls in read_vout_ov_limit and write_vout_ov_limit with pmbus_read_word_data(client, 1, 0xff, reg) and pmbus_write_word_data(client, 1, reg, word), which handle page selection, page cache coherency, and locking internally. Page 1 is selected explicitly as the OV limit registers reside on page 1 per the datasheet; the phase argument 0xff indicates phase is not applicable. Remove the manual PMBUS_PAGE writes from read_byte_data and write_word_data, and simplify read_byte_data to use direct returns. Fixes: 90bad684e9ac ("hwmon: add MP29502 driver") Cc: stable@vger.kernel.org Signed-off-by: Sanman Pradhan --- v2: - No changes to this patch in this version. --- drivers/hwmon/pmbus/mp29502.c | 68 +++++++++-------------------------- 1 file changed, 17 insertions(+), 51 deletions(-) diff --git a/drivers/hwmon/pmbus/mp29502.c b/drivers/hwmon/pmbus/mp29502.c index 1457809aa7e4..aef9d957bdf1 100644 --- a/drivers/hwmon/pmbus/mp29502.c +++ b/drivers/hwmon/pmbus/mp29502.c @@ -210,31 +210,18 @@ mp29502_identify_iout_scale(struct i2c_client *client= , struct pmbus_driver_info static int mp29502_read_vout_ov_limit(struct i2c_client *client, struct mp= 29502_data *data) { int ret; - int ov_value; =20 /* - * This is because the vout ov fault limit value comes from - * page1 MFR_TSNS_FLT_SET reg, and other telemetry and limit - * value comes from page0 reg. So the page should be set to - * 0 after the reading of vout ov limit. + * The vout ov fault limit value comes from page 1 + * MFR_TSNS_FLT_SET register. */ - ret =3D i2c_smbus_write_byte_data(client, PMBUS_PAGE, 1); + ret =3D pmbus_read_word_data(client, 1, 0xff, MFR_TSNS_FLT_SET); if (ret < 0) return ret; =20 - ret =3D i2c_smbus_read_word_data(client, MFR_TSNS_FLT_SET); - if (ret < 0) - return ret; - - ov_value =3D DIV_ROUND_CLOSEST(FIELD_GET(GENMASK(12, 7), ret) * - MP28502_VOUT_OV_GAIN * MP28502_VOUT_OV_SCALE, - data->ovp_div); - - ret =3D i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); - if (ret < 0) - return ret; - - return ov_value; + return DIV_ROUND_CLOSEST(FIELD_GET(GENMASK(12, 7), ret) * + MP28502_VOUT_OV_GAIN * MP28502_VOUT_OV_SCALE, + data->ovp_div); } =20 static int mp29502_write_vout_ov_limit(struct i2c_client *client, u16 word, @@ -243,46 +230,29 @@ static int mp29502_write_vout_ov_limit(struct i2c_cli= ent *client, u16 word, int ret; =20 /* - * This is because the vout ov fault limit value comes from - * page1 MFR_TSNS_FLT_SET reg, and other telemetry and limit - * value comes from page0 reg. So the page should be set to - * 0 after the writing of vout ov limit. + * The vout ov fault limit value is in page 1 + * MFR_TSNS_FLT_SET register. */ - ret =3D i2c_smbus_write_byte_data(client, PMBUS_PAGE, 1); - if (ret < 0) - return ret; - - ret =3D i2c_smbus_read_word_data(client, MFR_TSNS_FLT_SET); + ret =3D pmbus_read_word_data(client, 1, 0xff, MFR_TSNS_FLT_SET); if (ret < 0) return ret; =20 - ret =3D i2c_smbus_write_word_data(client, MFR_TSNS_FLT_SET, - (ret & ~GENMASK(12, 7)) | - FIELD_PREP(GENMASK(12, 7), - DIV_ROUND_CLOSEST(word * data->ovp_div, - MP28502_VOUT_OV_GAIN * MP28502_VOUT_OV_SCALE))); - - return i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); + return pmbus_write_word_data(client, 1, MFR_TSNS_FLT_SET, + (ret & ~GENMASK(12, 7)) | + FIELD_PREP(GENMASK(12, 7), + DIV_ROUND_CLOSEST(word * data->ovp_div, + MP28502_VOUT_OV_GAIN * + MP28502_VOUT_OV_SCALE))); } =20 static int mp29502_read_byte_data(struct i2c_client *client, int page, int= reg) { - int ret; - - ret =3D i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); - if (ret < 0) - return ret; - switch (reg) { case PMBUS_VOUT_MODE: - ret =3D PB_VOUT_MODE_DIRECT; - break; + return PB_VOUT_MODE_DIRECT; default: - ret =3D -ENODATA; - break; + return -ENODATA; } - - return ret; } =20 static int mp29502_read_word_data(struct i2c_client *client, int page, @@ -470,10 +440,6 @@ static int mp29502_write_word_data(struct i2c_client *= client, int page, int reg, struct mp29502_data *data =3D to_mp29502_data(info); int ret; =20 - ret =3D i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); - if (ret < 0) - return ret; - switch (reg) { case PMBUS_VIN_OV_FAULT_LIMIT: /* --=20 2.34.1 From nobody Fri Apr 3 17:33:20 2026 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) (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 EB979358369; Mon, 23 Mar 2026 23:34:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.147.86 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308888; cv=fail; b=lzDvwv6uSyMtV695rqowm7whHAuw2F4CAYDxGf8DxRz4tzrSTHsPT07TlK/BN9kjXHBd4n8/DNBpUNJVPDJO7ANrH0nSKP5XikNIaxsGhIPdF0UhgfXJ5LYYA92sT1sA+n772oJP/jLqJV/kKwifu1KVIWE9ZJwrTI9LLjREKl0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774308888; c=relaxed/simple; bh=cz35freoPx9YrpUZE3ICY7gE54Nh8J8SlOijm6m/nac=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=LfJSvNGWc+vb71OzGkzjWcACgxEL6Y3EwQX3mvms+w3yKnXe727I8SiTw15fd6vBWL5IP4OezgLvv5AaGjbeFZ3cKdrXKdhD/pnusfHM5Dts6P0mBp4dMOUobeLvjWNFXPFUZovaaJBHOdCH21fNWB68Qwz+XKB9lRdU0g9ivwg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com; spf=pass smtp.mailfrom=hpe.com; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b=Tb2C/C2P; arc=fail smtp.client-ip=148.163.147.86 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hpe.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b="Tb2C/C2P" Received: from pps.filterd (m0148663.ppops.net [127.0.0.1]) by mx0a-002e3701.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62NKEWVw4098712; Mon, 23 Mar 2026 23:34:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps0720; bh=NZ YfKpLXGgATBHcNX9ItmP1Ai/ap+CKcX0zfe84080A=; b=Tb2C/C2Puc9XoNHyVj NEC2lXN7kK6myLNAoXlOEcCQmV/Ld3d692vQunQ8+bTDEAdkzjd3LvxPv9xwNOG7 nLsHCYBRAUNiFxUIHrutERZnXYqw2/3duTgWCOIQFeeVyIFsbrEReC9Q6Oa3vjQT BLKqeHTXP/YLPaUneBmV+nPekO7GzSFQGmAxBegfQCsohuJEAV0lb0l9A8CdQIbs RikvoS2FlmGgSw+2pu6gW+UBBT4Wb8KX+F6vCaxDNzmjxpcAl7MlGhzNJbR8ZAxc /a+Yla0HHTNUGQVipiTecrwoTYFxl5ktvIbNOptmQF53Xik4LXhr2Cyo9KuDtw7w I23A== Received: from p1lg14880.it.hpe.com (p1lg14880.it.hpe.com [16.230.97.201]) by mx0a-002e3701.pphosted.com (PPS) with ESMTPS id 4d37nr5cjp-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 Mar 2026 23:34:29 +0000 (GMT) Received: from p1wg14926.americas.hpqcorp.net (unknown [10.119.18.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14880.it.hpe.com (Postfix) with ESMTPS id 5374480163D; Mon, 23 Mar 2026 23:34:29 +0000 (UTC) Received: from p1wg14928.americas.hpqcorp.net (10.119.18.116) by p1wg14926.americas.hpqcorp.net (10.119.18.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:34:24 -1200 Received: from p1wg14928.americas.hpqcorp.net (10.119.18.116) by p1wg14928.americas.hpqcorp.net (10.119.18.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 11:34:23 -1200 Received: from P1WG14918.americas.hpqcorp.net (16.230.19.121) by p1wg14928.americas.hpqcorp.net (10.119.18.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17 via Frontend Transport; Mon, 23 Mar 2026 11:34:23 -1200 Received: from DM5PR08CU004.outbound.protection.outlook.com (192.58.206.35) by edge.it.hpe.com (16.230.19.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 23 Mar 2026 23:34:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IytYP4HTteIxtRX1rypOObxJVAiVxGiEPuldI5c+fQFHRLkxITJQze0iBM9/PLHOoycnbGLUXi0Oy/U5jkhNEGa5E4N+MBY/Nnf/2hhxG/bjp2tR6WINOSc184uaSn+tQYtNrtRKYkoLOCh+xC86sVnwR8sUlcWvNV3KNACJI1z/pwa4tFlgHySDfEIC0ZC+MYvsRoitY7NeNg5q2m6Le/ouJABVc/elmCKeuSorS74K+m1Lf1w6mGPiDnTv3glmrTKY2b02PCdrzHiRahcrpw1H1W05KB3qhENydKICN1QxD1su3KfRUPO0klM9FxOJJgoYdR8KfIaLyDOKpA3uKA== 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=NZYfKpLXGgATBHcNX9ItmP1Ai/ap+CKcX0zfe84080A=; b=A/7ktFILtONmQvRfUowtbx6CJqEr3IWNEe3Si2KbuzIUeOjNqC9yXzzsAbJE4gty8lBmqLovTyl/HWMOCJcduRWSF+v//wLnNGg4G4jumg9dLuw1MxkudQwsgcF3Otmng8b6wYoToVP5e4XKIkdw0ea1CJYqBFCEviRU28yayaESnlJhh+LwvLYPWjFDHr4NRV3fvB+d3xetYfYs6jvoz//taQAWmGlqPfcfjEsyRWWGCcjqAZhauiU+fyOGzYm1I3vhLsM+TgxQdMelAJRekXP/57DlWBNtGYpnqDtQQ6G3Sg0cM8tTadB+KAkyXYHLrNmmDApS3k0XLJBNkowNnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1cc::7) by CH3PR84MB3989.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:253::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Mon, 23 Mar 2026 23:34:22 +0000 Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f]) by CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f%4]) with mapi id 15.20.9723.030; Mon, 23 Mar 2026 23:34:22 +0000 From: "Pradhan, Sanman" To: "linux-hwmon@vger.kernel.org" CC: "linux@roeck-us.net" , "wenswang@yeah.net" , "chou.cosmo@gmail.com" , "linux-kernel@vger.kernel.org" , Sanman Pradhan , "stable@vger.kernel.org" Subject: [PATCH v2 5/5] hwmon: (pmbus/mp29502) Prevent division by zero from hardware register Thread-Topic: [PATCH v2 5/5] hwmon: (pmbus/mp29502) Prevent division by zero from hardware register Thread-Index: AQHcux2TN9q4CS89lEyY6+ECiMK3fA== Date: Mon, 23 Mar 2026 23:34:22 +0000 Message-ID: <20260323233244.201294-6-sanman.pradhan@hpe.com> References: <20260323233244.201294-1-sanman.pradhan@hpe.com> In-Reply-To: <20260323233244.201294-1-sanman.pradhan@hpe.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR84MB3523:EE_|CH3PR84MB3989:EE_ x-ms-office365-filtering-correlation-id: 3afed267-6f05-42b7-697b-08de8934b648 x-ld-processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021|22082099003|56012099003|18002099003; x-microsoft-antispam-message-info: M59vdO+i7137TYtGzcWZu6trDydzHXMHzgg0D+uZOyvE5bCh2TWrwXLfmXb/m7mcmbtJ/STBbtutsLRCXdJXMf0Booj20eigURFsdUG/qX5QS6zWY7XP0SQjlw9xr4nl2WRrgrSEiUJuMSJXCpr9HH0DDKrOliXi4nhzKmOnMOuuG2WOKf9pbME1bbQox1eUz5wlQ0r2TJP94mReCoP0T7fZ8IpM4J6qzUDce95yFyUahiFgGGpDagn5MlqwwAiX+JPsDbIZp14FHoBwmyB51IAHIn06cEfCn5McPizE58tvvgPejsG67DVSRqo8fpruMPyo1gTs8tFdw82c5DUvq9tk1Q9nCA6EFNKLagVCDbJT8CKlD1PX2cKRH9yCF2EKGD1sgbq3opDDJMjMLjzNxUqPy4ZvpywyFrVUmsFP6jb+VBjlI/i2SMvpUyj7c6FCBd+GE3AYRxzZoAk2aVc5qdyREJWJumxN1A3AEu5zlqlwZzHHRYsch8bcyHxfLi15OLPtKNJwDaS91vm5ooDZ6xdUkcZYmeLj/8EGkGMKR0n7UOV2GBan012Ue20e1fEwpUpl9Uhl9PRmY/jqK5x1GT86CQQ0ULpQU3PxupD3PvbkE/+1VdxNn+j64WYSLw8BAjWpDHaQYWaFOkaVRZwS8DoQiHeGb/yLcbM6LcoXwGZSgOkxnshfbQ8pEqC1ycYCmDEcQtwDICNGnFlx557hSnaloMRrEFWPSAVdAXR5S/FiNax1nRL6SWaIPCRv+MBwwXxpPvfNnL5bRN0j2duqXifX6e+5MOSj3krfsgecBX0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?U2o65m52HU69pBG9CTOG7ETjTTJgjuDY3b0tOkR3elKAbwNKpCKS1cLtD1?= =?iso-8859-1?Q?SzRr8gxxB7ZJrslLs4WG+ObSQ2/3eWcD/BZUMp43pAFnXwiIRfV/XZhOPQ?= =?iso-8859-1?Q?qJ7suj1m4CYSzgtx8LQjPoRrFyZrPNFlEY/2Xgpv/Em/5M3MIasVzkNemy?= =?iso-8859-1?Q?90fp/SG1kUWtbMLxwXm/G+d9LiEiCvoRX8H4bdP59h4kXddkpVe6uNLHOW?= =?iso-8859-1?Q?aKqC+eJVIpoTWW+GM2jenRifxVy+8ZNlPtzIhA13RnItZyZN/XyHa28M2Q?= =?iso-8859-1?Q?RdLwXq8fyMw9v1RptMbVxbB+2VvxdCoqeTpV0VQOObMNZk2aRJcSz2gtZk?= =?iso-8859-1?Q?PuqvKVgBfIWU1MeyX+sD9cCWk+/8T8tCMjK9ysEyMDftteHl49HBatZIeW?= =?iso-8859-1?Q?xbT0ry8bHjhSRkMtyu2oyPx7OYs1rSyJUBr5jVUCgHVKgA3FxZ2EeFwULH?= =?iso-8859-1?Q?2mvtQRlgX9S3sUVgtGEcqY3PMwfKTWYNpO2WYzjKQ2YHjmCZEcJQAo3/YD?= =?iso-8859-1?Q?iu1FaEYj0iXA3CQaUmddEiwr7k3OFYJ67Jc06eHE0e9f83xVufjHasnkdA?= =?iso-8859-1?Q?XzFUNp6LRmk9lD8zI3OvZK8wxw+sBIxwwcSIn4Ua/lAWFmYX1yO8i7YYvj?= =?iso-8859-1?Q?gt0HVJgjaFsb2Nm4u4oLbPf2+V0wvswy/S1d5g0sxm4UhSGavbZxkOYRNk?= =?iso-8859-1?Q?mxnMwhgWlMnZZvXVlzjnUXFHAZ4PUIz2HFEOLi3E9pfyQdkrmWqCHCUT6b?= =?iso-8859-1?Q?Is01TrAHMFM4UPdfm6V+hzbBxkcIkLUWqdm8kkDqE9WFv5MircRxOSYM3b?= =?iso-8859-1?Q?vsxyQVQ9vrbgQ2VTR7gkvf9aJe1Pqoh5lxaPdnM41sL25FmudEJGMuNSTS?= =?iso-8859-1?Q?ztayP8LtxeiOqo02ch2UuH2ZPlBjoEfwPUaKsUISDpyerc39As+qSlE0dc?= =?iso-8859-1?Q?qmH0z+zVU5+z3Xz3/s9U0QTpxUHlH3DPbWQ3FOwRV19jNxnmyqOt79mX1Z?= =?iso-8859-1?Q?RVCg2F87hL1VCoSSTXiWvQWiSH2AjslfZd3kGJ9LsPtNn7gcG1eofhLY5x?= =?iso-8859-1?Q?bm33eflzKRA8yPB4zPVVd2DpZ+z2/o0FVwNb5wTt/zvTGYj8d+VOFuZZ9S?= =?iso-8859-1?Q?PbLWC4fqTTqgTnliLRhTIPe23Cve5DImYBS1Se+uau1CorCXETpqOFoqOU?= =?iso-8859-1?Q?JacQeI+iLxlsuooOYQ1X2j/gbuLeUfL+IJ5qVh9JcJZYS5sr7RYi8e8Rz1?= =?iso-8859-1?Q?ukyty9rJ28IKRfTJGjgxvQDmWAW7WR3yMEzud6ynAhBhz2put/XunR6oQh?= =?iso-8859-1?Q?3LIc/UcokWGIjpY3YOQPAOMD7jnTzBG8806L9OVmRvj9eNwOl63Te0Hbns?= =?iso-8859-1?Q?xaL43ruX9dXLkhprC5VVsoMlaF97NQP8wUhT8AgbPrFCs0xvSoCEKrRBm4?= =?iso-8859-1?Q?pY2wn+cUGYiZL0KVzn8nOjMG4U3heN6GFK1jIkW7SgHftL5fhjGf2hD4jL?= =?iso-8859-1?Q?BTrXf4lAmgcSo1jvZ/Y7KPbouxbpoNFssrC4UW4TC6GB3lA9U/rytTqwbs?= =?iso-8859-1?Q?lvGNW/jU4Vnf4uemhGgsEkZ6G7gZyqDPQY2AmiKNDGk+WGAked1rctptHH?= =?iso-8859-1?Q?gO+vOmlaOFfRW7F19lFXaOULu1nPAe+e9Os+tNhNw2spEfla/dYyie+fdq?= =?iso-8859-1?Q?c2+EFl47UA+AUd68u46/R6KlEqn9J4uIJe42TlbCKXTSbUeRJ39bFZ4llu?= =?iso-8859-1?Q?U3sCFzqKd/XaagBZxriuk5WcubivDNEbWmxZs9pm/+2u620xAadR2fe1WO?= =?iso-8859-1?Q?CJ0ymxy3Nw=3D=3D?= Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: vfHyXVZughmJXx1a5GkU6kTpdEUTGL7kK1FAqPEbQf8/nzR7G1Zksf06RoNrLLa3urW/YLGJ69N0tAkKKfRWGlzSaVmA3BLvoylEBJMZO7B9rCTsyqzuxnJRhw3nh9nm9iqTE/gtNGK3xGZhPlZwLQWlYmsLCvkejxZasCiN8OEvV7bbzIm+TUyD+GQp8xVST+5teRvUmccvue0aWvvgHgsD6S14Tq+xWLUbRbLPBhWJUtks9wun/6WY28YW3uHA2dF3IAxIG9lUl4JI/ysqPXmg87fkD6UwqtcLzpEzc+fH3PuKE0g5sVujG3nqPFqagKse02sGZJ/Dd5KZCtoC7g== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3afed267-6f05-42b7-697b-08de8934b648 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2026 23:34:22.2571 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6+ycinU9WYtxSbRUGgvgAPHPbCtRpM/qYOpDH29ynzePe595F8yP5C9BcDLR41w8sCM1C4E0PwZ9ad6FpO8N9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR84MB3989 X-OriginatorOrg: hpe.com X-Authority-Analysis: v=2.4 cv=Z5rh3XRA c=1 sm=1 tr=0 ts=69c1ce05 cx=c_pps a=A+SOMQ4XYIH4HgQ50p3F5Q==:117 a=A+SOMQ4XYIH4HgQ50p3F5Q==:17 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=8nJEP1OIZ-IA:10 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gQcMVamqm3wCPoSYhaRC:22 a=6_mrDcixewTG61oOsKN3:22 a=OUXY8nFuAAAA:8 a=VwQbUJbxAAAA:8 a=oWjv0WD8qUs_733JoPwA:9 a=wPNLvfGTeEIA:10 a=cAcMbU7R10T-QSRYIcO_:22 X-Proofpoint-GUID: 9DUOigVu_jJTYHrOrvKhdtWo8dcrt3oR X-Proofpoint-ORIG-GUID: 9DUOigVu_jJTYHrOrvKhdtWo8dcrt3oR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDE3MyBTYWx0ZWRfXyxA7D4BOV1md CVaiV7L0DU1ImKwKoWnH4KbHnETuyo/7my0nfvNxjsHHp1vm7FXGeJXQWVxvZRo35HcWzP5OUHy w3LN9AAAZbJ64PRc2a0D59w7fWt2hSOZwVK+7ucvqO/g8NISmbZP+M2itzip78APC4CyMM9S/XD UkoKdT4PcXVJmskmXQE4eTmOTQWshAvpqMHQ3F3kkI1OiXLwK31SghJ5LYMe7jrJmHfx+LEHN3G c2Saq7CDiQzAPrcum0b4TpCam8SoxntUN/ZRTa6U6I25uQA4jB1UYng5WNBG+3d5n9H6IO+4f8u bX6e0tRwfw0eJ4PMbKc4KyQmN9yKh5dvCsbc5EcZGC36NWx2IQ1NVbk0UW28f3KI0ZWjYlUPqYD k1/OB/5SeTsTpAl1lMMcJwYQamoO37ngnHez1x+bX76GlZmZ8YXQNdGVXdHDfS5skFDQmtlMFaQ s76CguCfPmMqkb8mWtQ== X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-23_06,2026-03-23_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 bulkscore=0 impostorscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230173 Content-Type: text/plain; charset="utf-8" From: Sanman Pradhan mp29502_identify_vout_divider() and mp29502_identify_ovp_divider() read divider values from hardware registers (MFR_VOUT_PROT1 bits [11:0] and MFR_SLOPE_CNT_SET bits [9:0]) into data->vout_bottom_div and data->ovp_div respectively. These divisors are used in DIV_ROUND_CLOSEST() calculations across multiple read and write paths: vout_bottom_div feeds the PMBUS_READ_VOUT, PMBUS_READ_POUT, and PMBUS_VOUT_UV_FAULT_LIMIT handlers in addition to the OV-limit helpers, while ovp_div is used in mp29502_read_vout_ov_limit() and mp29502_write_vout_ov_limit(). If the hardware returns zero for either field, a division-by-zero exception occurs at runtime. Add zero-value guards that return -EINVAL when a divisor is zero, indicating the hardware returned an invalid configuration. This causes probe to fail gracefully rather than crashing with a divide exception. Fixes: 90bad684e9ac ("hwmon: add MP29502 driver") Cc: stable@vger.kernel.org Signed-off-by: Sanman Pradhan --- v2: - No changes to this patch in this version. --- drivers/hwmon/pmbus/mp29502.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/hwmon/pmbus/mp29502.c b/drivers/hwmon/pmbus/mp29502.c index aef9d957bdf1..bbcf018e5d05 100644 --- a/drivers/hwmon/pmbus/mp29502.c +++ b/drivers/hwmon/pmbus/mp29502.c @@ -134,6 +134,8 @@ mp29502_identify_vout_divider(struct i2c_client *client= , struct pmbus_driver_inf return ret; =20 data->vout_bottom_div =3D FIELD_GET(GENMASK(11, 0), ret); + if (!data->vout_bottom_div) + return -EINVAL; =20 ret =3D i2c_smbus_read_word_data(client, MFR_VOUT_PROT2); if (ret < 0) @@ -160,6 +162,8 @@ mp29502_identify_ovp_divider(struct i2c_client *client,= struct pmbus_driver_info return ret; =20 data->ovp_div =3D FIELD_GET(GENMASK(9, 0), ret); + if (!data->ovp_div) + return -EINVAL; =20 return 0; } --=20 2.34.1