diff options
author | Vadim Pasternak <vadimp@nvidia.com> | 2023-08-24 15:43:10 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-08-25 10:53:37 +0100 |
commit | 3fc134a07438055fc93ce1bbacf2702ddd09500c (patch) | |
tree | e6892e2516d5dd59d35c2a881591b0b8b79a4231 /drivers/net/ethernet | |
parent | d7248f1cc835bd80e936dc5b2d94b149bdd0077d (diff) | |
download | linux-stable-3fc134a07438055fc93ce1bbacf2702ddd09500c.tar.gz linux-stable-3fc134a07438055fc93ce1bbacf2702ddd09500c.tar.bz2 linux-stable-3fc134a07438055fc93ce1bbacf2702ddd09500c.zip |
mlxsw: core_hwmon: Adjust module label names based on MTCAP sensor counter
Transceiver module temperature sensors are indexed after ASIC and
platform sensors. The current label printing method does not take this
into account and simply prints the index of the transceiver module
sensor.
On new systems that have platform sensors this results in incorrect
(shifted) transceiver module labels being printed:
$ sensors
[...]
front panel 002: +37.0°C (crit = +70.0°C, emerg = +75.0°C)
front panel 003: +47.0°C (crit = +70.0°C, emerg = +75.0°C)
[...]
Fix by taking the sensor count into account. After the fix:
$ sensors
[...]
front panel 001: +37.0°C (crit = +70.0°C, emerg = +75.0°C)
front panel 002: +47.0°C (crit = +70.0°C, emerg = +75.0°C)
[...]
Fixes: a53779de6a0e ("mlxsw: core: Add QSFP module temperature label attribute to hwmon")
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c b/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c index 70735068cf29..0fd290d776ff 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c @@ -405,7 +405,8 @@ mlxsw_hwmon_module_temp_label_show(struct device *dev, container_of(attr, struct mlxsw_hwmon_attr, dev_attr); return sprintf(buf, "front panel %03u\n", - mlxsw_hwmon_attr->type_index); + mlxsw_hwmon_attr->type_index + 1 - + mlxsw_hwmon_attr->mlxsw_hwmon_dev->sensor_count); } static ssize_t |