Message ID | 1553029318-31703-1-git-send-email-eajames@linux.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | hwmon: occ: Fix power sensor indexing | expand |
On Tue, 19 Mar 2019 at 21:04, Eddie James <eajames@linux.ibm.com> wrote: > > 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: 54076cb ("hwmon (occ): Add sensor attributes and register ...") > Signed-off-by: Eddie James <eajames@linux.ibm.com> You forgot to cc stable: cc: stable@vger.kernel.org # 4.21 Tested-by: Joel Stanley <joel@jms.id.au> Cheers, Joel
On Tue, Mar 19, 2019 at 04:01:58PM -0500, Eddie James wrote: > 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: 54076cb ("hwmon (occ): Add sensor attributes and register ...") > Signed-off-by: Eddie James <eajames@linux.ibm.com> > Tested-by: Joel Stanley <joel@jms.id.au> Applied. Side note: There is no v4.21. Thanks, Guenter > --- > drivers/hwmon/occ/common.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/hwmon/occ/common.c b/drivers/hwmon/occ/common.c > index 391118c..c888f4a 100644 > --- a/drivers/hwmon/occ/common.c > +++ b/drivers/hwmon/occ/common.c > @@ -889,6 +889,8 @@ static int occ_setup_sensor_attrs(struct occ *occ) > 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 occ *occ) > 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);
diff --git a/drivers/hwmon/occ/common.c b/drivers/hwmon/occ/common.c index 391118c..c888f4a 100644 --- a/drivers/hwmon/occ/common.c +++ b/drivers/hwmon/occ/common.c @@ -889,6 +889,8 @@ static int occ_setup_sensor_attrs(struct occ *occ) 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 occ *occ) 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);
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: 54076cb ("hwmon (occ): Add sensor attributes and register ...") Signed-off-by: Eddie James <eajames@linux.ibm.com> --- drivers/hwmon/occ/common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)