| From 5a48c3c9ca6fc87f6540c5c78f7e86f854cc4c42 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 16 Apr 2021 13:29:04 +0300 |
| Subject: hwmon: (pmbus/pxe1610) don't bail out when not all pages are active |
| |
| From: Paul Fertser <fercerpav@gmail.com> |
| |
| [ Upstream commit f025314306ae17a3fdaf2874d7e878ce19cea363 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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.30.2 |
| |