[PATCH 10/31] hwmon: (pmbus/d1u74t) use 4-argument i2c_smbus_read_block_data()
From: Dmitry Torokhov
Date: Sat Oct 24 2026 - 23:08:02 EST
Pass sizeof(buf) - 1 to i2c_smbus_read_block_data() and shrink the
temporary buffer to I2C_SMBUS_BLOCK_MAX + 1 since only a single NUL
terminator byte is needed.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
---
drivers/hwmon/pmbus/d1u74t.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/hwmon/pmbus/d1u74t.c b/drivers/hwmon/pmbus/d1u74t.c
index 752df3af9c1a..758464a6362d 100644
--- a/drivers/hwmon/pmbus/d1u74t.c
+++ b/drivers/hwmon/pmbus/d1u74t.c
@@ -30,11 +30,12 @@ static struct pmbus_driver_info d1u74t_info = {
static int d1u74t_probe(struct i2c_client *client)
{
- char buf[I2C_SMBUS_BLOCK_MAX + 2] = { 0 };
+ char buf[I2C_SMBUS_BLOCK_MAX + 1] = { 0 };
struct device *dev = &client->dev;
int rc;
- rc = i2c_smbus_read_block_data(client, PMBUS_MFR_ID, buf);
+ rc = i2c_smbus_read_block_data(client, PMBUS_MFR_ID,
+ sizeof(buf) - 1, buf);
if (rc < 0)
return dev_err_probe(dev, rc, "Failed to read PMBUS_MFR_ID\n");
@@ -45,7 +46,8 @@ static int d1u74t_probe(struct i2c_client *client)
buf);
}
- rc = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, buf);
+ rc = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL,
+ sizeof(buf) - 1, buf);
if (rc < 0)
return dev_err_probe(dev, rc,
"Failed to read PMBUS_MFR_MODEL\n");
--
2.56.0.257.gf7497c7d27-goog