hwmon: (pmbus/adm1275) Accept negative page register values
authorGuenter Roeck <linux@roeck-us.net>
Sun, 11 Mar 2018 01:55:47 +0000 (17:55 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 11 Mar 2018 02:59:56 +0000 (18:59 -0800)
A negative page register value means that no page needs to be
selected. This is used by status register read operations and needs
to be accepted. The failure to do so so results in missed status
and limit registers.

Fixes: da8e48ab483e1 ("hwmon: (pmbus) Always call _pmbus_read_byte in core driver")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/adm1275.c

index 00d6995af4c23c50ea3e0de261bc641bd2ba88ee..8a44e94d567955ee5d3c5f02ecb2afc53a58d88c 100644 (file)
@@ -154,7 +154,7 @@ static int adm1275_read_word_data(struct i2c_client *client, int page, int reg)
        const struct adm1275_data *data = to_adm1275_data(info);
        int ret = 0;
 
-       if (page)
+       if (page > 0)
                return -ENXIO;
 
        switch (reg) {
@@ -240,7 +240,7 @@ static int adm1275_write_word_data(struct i2c_client *client, int page, int reg,
        const struct adm1275_data *data = to_adm1275_data(info);
        int ret;
 
-       if (page)
+       if (page > 0)
                return -ENXIO;
 
        switch (reg) {