mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-11 21:14:07 +08:00
hwmon: (mlxreg-fan) Return zero speed for broken fan
Currently for broken fan driver returns value calculated based on error
code (0xFF) in related fan speed register.
Thus, for such fan user gets fan{n}_fault to 1 and fan{n}_input with
misleading value.
Add check for fan fault prior return speed value and return zero if
fault is detected.
Fixes: 65afb4c8e7
("hwmon: (mlxreg-fan) Add support for Mellanox FAN driver")
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Link: https://lore.kernel.org/r/20230212145730.24247-1-vadimp@nvidia.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
102be2c242
commit
a1ffd3c462
@ -155,6 +155,12 @@ mlxreg_fan_read(struct device *dev, enum hwmon_sensor_types type, u32 attr,
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (MLXREG_FAN_GET_FAULT(regval, tacho->mask)) {
|
||||
/* FAN is broken - return zero for FAN speed. */
|
||||
*val = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
*val = MLXREG_FAN_GET_RPM(regval, fan->divider,
|
||||
fan->samples);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user