hwmon: (pmbus/pxe1610) don't bail out when not all pages are active
authorPaul Fertser <fercerpav@gmail.com>
Fri, 16 Apr 2021 10:29:04 +0000 (13:29 +0300)
committerGuenter Roeck <linux@roeck-us.net>
Tue, 20 Apr 2021 13:50:14 +0000 (06:50 -0700)
Certain VRs might be configured to use only the first output channel and
so the mode for the second will be 0. Handle this gracefully.

Fixes: b9fa0a3acfd8 ("hwmon: (pmbus/core) Add support for vid mode detection per page bases")
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Link: https://lore.kernel.org/r/20210416102926.13614-1-fercerpav@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/pxe1610.c

index da27ce3..eb4a060 100644 (file)
@@ -41,6 +41,15 @@ static int pxe1610_identify(struct i2c_client *client,
                                info->vrm_version[i] = vr13;
                                break;
                        default:
+                               /*
+                                * If prior pages are available limit operation
+                                * to them
+                                */
+                               if (i != 0) {
+                                       info->pages = i;
+                                       return 0;
+                               }
+
                                return -ENODEV;
                        }
                }