hwmon: (mlxreg-fan) Return zero speed for broken fan
authorVadim Pasternak <vadimp@nvidia.com>
Sun, 12 Feb 2023 14:57:30 +0000 (16:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:30 +0000 (09:39 +0100)
commit75eef8cb9d0747b620b6ee3150481ef54552e712
treec7cf1be319647efb986bb600bf983011f02ecaa5
parent528181646644c68862721d54c47d77dc7e396fb4
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>
drivers/hwmon/mlxreg-fan.c