From: Eddie James eajames@linux.ibm.com
commit 8e6af454117a51dbf6c8a47c00180a0c235052fe upstream.
In the case of power sensor version 0xA0, the sensor indexing overlapped with the "caps" power sensors, resulting in probe failure and kernel warnings. Fix this by specifying the next index for each power sensor version.
Fixes: 54076cb3b5ff ("hwmon (occ): Add sensor attributes and register ...") Cc: stable@vger.kernel.org Signed-off-by: Eddie James eajames@linux.ibm.com Tested-by: Joel Stanley joel@jms.id.au Signed-off-by: Guenter Roeck linux@roeck-us.net Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- drivers/hwmon/occ/common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/hwmon/occ/common.c +++ b/drivers/hwmon/occ/common.c @@ -889,6 +889,8 @@ static int occ_setup_sensor_attrs(struct s++; } } + + s = (sensors->power.num_sensors * 4) + 1; } else { for (i = 0; i < sensors->power.num_sensors; ++i) { s = i + 1; @@ -917,11 +919,11 @@ static int occ_setup_sensor_attrs(struct show_power, NULL, 3, i); attr++; } - }
- if (sensors->caps.num_sensors >= 1) { s = sensors->power.num_sensors + 1; + }
+ if (sensors->caps.num_sensors >= 1) { snprintf(attr->name, sizeof(attr->name), "power%d_label", s); attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_caps, NULL, 0, 0);