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 <[email protected]>
---

Notes:
    Changes for v2:
      - Use more imperative style

 drivers/hwmon/pmbus/pxe1610.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/hwmon/pmbus/pxe1610.c b/drivers/hwmon/pmbus/pxe1610.c
index da27ce34ee3f..eb4a06003b7f 100644
--- a/drivers/hwmon/pmbus/pxe1610.c
+++ b/drivers/hwmon/pmbus/pxe1610.c
@@ -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;
                        }
                }
-- 
2.20.1

Reply via email to