]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
hwmon: (pmbus/hac300s) Add error check for pmbus_read_word_data() return value
authorSanman Pradhan <psanman@juniper.net>
Tue, 17 Mar 2026 17:36:53 +0000 (17:36 +0000)
committerGuenter Roeck <linux@roeck-us.net>
Tue, 17 Mar 2026 22:19:45 +0000 (15:19 -0700)
hac300s_read_word_data() passes the return value of pmbus_read_word_data()
directly to FIELD_GET() without checking for errors. If the I2C transaction
fails, a negative error code is sign-extended and passed to FIELD_GET(),
which silently produces garbage data instead of propagating the error.

Add the missing error check before using the return value in
the FIELD_GET() macro.

Fixes: 669cf162f7a1 ("hwmon: Add support for HiTRON HAC300S PSU")
Cc: stable@vger.kernel.org
Signed-off-by: Sanman Pradhan <psanman@juniper.net>
Link: https://lore.kernel.org/r/20260317173308.382545-2-sanman.pradhan@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/hac300s.c

index 0a1d52cae91ed4cd165c51a04342e50d2b16d3c8..a073db1cfe2e499c4916745bb96c30639a84ffe4 100644 (file)
@@ -58,6 +58,8 @@ static int hac300s_read_word_data(struct i2c_client *client, int page,
        case PMBUS_MFR_VOUT_MIN:
        case PMBUS_READ_VOUT:
                rv = pmbus_read_word_data(client, page, phase, reg);
+               if (rv < 0)
+                       return rv;
                return FIELD_GET(LINEAR11_MANTISSA_MASK, rv);
        default:
                return -ENODATA;