hwmon: (mlxreg-fan) Return zero speed for broken fan
[ Upstream commit a1ffd3c46267ee5c807acd780e15df9bb692223f ] 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: 65afb4c8e7e4 ("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
870a0f519a
commit
e6d9a876d9
@ -127,6 +127,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…
x
Reference in New Issue
Block a user