* [PATCH hwmon 1/1] hwmon: (mlxreg-fan) Return zero speed for broken fan
@ 2023-02-12 14:57 Vadim Pasternak
2023-02-12 15:22 ` Guenter Roeck
0 siblings, 1 reply; 2+ messages in thread
From: Vadim Pasternak @ 2023-02-12 14:57 UTC (permalink / raw)
To: linux; +Cc: linux-hwmon, Vadim Pasternak
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>
---
drivers/hwmon/mlxreg-fan.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/hwmon/mlxreg-fan.c b/drivers/hwmon/mlxreg-fan.c
index b48bd7c961d6..96017cc8da7e 100644
--- a/drivers/hwmon/mlxreg-fan.c
+++ b/drivers/hwmon/mlxreg-fan.c
@@ -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;
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH hwmon 1/1] hwmon: (mlxreg-fan) Return zero speed for broken fan
2023-02-12 14:57 [PATCH hwmon 1/1] hwmon: (mlxreg-fan) Return zero speed for broken fan Vadim Pasternak
@ 2023-02-12 15:22 ` Guenter Roeck
0 siblings, 0 replies; 2+ messages in thread
From: Guenter Roeck @ 2023-02-12 15:22 UTC (permalink / raw)
To: Vadim Pasternak; +Cc: linux-hwmon
On 2/12/23 06:57, Vadim Pasternak wrote:
> 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>
Applied.
Thanks,
Guenter
> ---
> drivers/hwmon/mlxreg-fan.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/hwmon/mlxreg-fan.c b/drivers/hwmon/mlxreg-fan.c
> index b48bd7c961d6..96017cc8da7e 100644
> --- a/drivers/hwmon/mlxreg-fan.c
> +++ b/drivers/hwmon/mlxreg-fan.c
> @@ -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;
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-02-12 15:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-12 14:57 [PATCH hwmon 1/1] hwmon: (mlxreg-fan) Return zero speed for broken fan Vadim Pasternak
2023-02-12 15:22 ` Guenter Roeck
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.