Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

hwmon: (pxe1610) Check return value of page-select write in probe

pxe1610_probe() writes PMBUS_PAGE to select page 0 but does not check
the return value. If the write fails, subsequent register reads operate
on an indeterminate page, leading to silent misconfiguration.

Check the return value and propagate the error using dev_err_probe(),
which also handles -EPROBE_DEFER correctly without log spam.

Fixes: 344757bac526 ("hwmon: (pmbus) Add Infineon PXE1610 VR driver")
Signed-off-by: Sanman Pradhan <psanman@juniper.net>
Link: https://lore.kernel.org/r/20260329170925.34581-4-sanman.pradhan@hpe.com
[groeck: Fix "Fixes" SHA]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Sanman Pradhan and committed by
Guenter Roeck
ccf70c41 0e211f6a

+4 -1
+4 -1
drivers/hwmon/pmbus/pxe1610.c
··· 104 104 * By default this device doesn't boot to page 0, so set page 0 105 105 * to access all pmbus registers. 106 106 */ 107 - i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); 107 + ret = i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0); 108 + if (ret < 0) 109 + return dev_err_probe(&client->dev, ret, 110 + "Failed to set page 0\n"); 108 111 109 112 /* Read Manufacturer id */ 110 113 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_ID, buf);