Re: [PATCH] hwmon: occ: Fix power sensor indexing

From: Guenter Roeck
Date: Wed Mar 20 2019 - 09:29:34 EST


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@xxxxxxxxxxxxx>
> Tested-by: Joel Stanley <joel@xxxxxxxxx>

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);