mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] hwmon: (pwm-fan) Let ctx->pwm_value be assigned only in __set_pwm
@ 2021-11-30  3:00 Billy Tsai
  2021-11-30  6:55 ` Uwe Kleine-König
  0 siblings, 1 reply; 3+ messages in thread
From: Billy Tsai @ 2021-11-30  3:00 UTC (permalink / raw)
  To: b.zolnierkie, jdelvare, linux, u.kleine-koenig, linux-hwmon,
	linux-kernel
  Cc: BMC-SW

This patch is used to fix the bug when pwm_fan_probe the pwm_value will
be out of sync with the PWM hardware drivers.

Fixes: 86585c61972f ("hwmon: (pwm-fan) stop using legacy PWM functions and some cleanups")
Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
---
 drivers/hwmon/pwm-fan.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c
index 17518b4cab1b..f12b9a28a232 100644
--- a/drivers/hwmon/pwm-fan.c
+++ b/drivers/hwmon/pwm-fan.c
@@ -336,8 +336,6 @@ static int pwm_fan_probe(struct platform_device *pdev)
 			return ret;
 	}
 
-	ctx->pwm_value = MAX_PWM;
-
 	pwm_init_state(ctx->pwm, &ctx->pwm_state);
 
 	/*
-- 
2.25.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] hwmon: (pwm-fan) Let ctx->pwm_value be assigned only in __set_pwm
  2021-11-30  3:00 [PATCH] hwmon: (pwm-fan) Let ctx->pwm_value be assigned only in __set_pwm Billy Tsai
@ 2021-11-30  6:55 ` Uwe Kleine-König
  2021-11-30  9:12   ` Billy Tsai
  0 siblings, 1 reply; 3+ messages in thread
From: Uwe Kleine-König @ 2021-11-30  6:55 UTC (permalink / raw)
  To: Billy Tsai
  Cc: b.zolnierkie, jdelvare, linux, linux-hwmon, linux-kernel, BMC-SW

[-- Attachment #1: Type: text/plain, Size: 2111 bytes --]

Hello,

On Tue, Nov 30, 2021 at 11:00:46AM +0800, Billy Tsai wrote:
> This patch is used to fix the bug when pwm_fan_probe the pwm_value will
> be out of sync with the PWM hardware drivers.
> 
> Fixes: 86585c61972f ("hwmon: (pwm-fan) stop using legacy PWM functions and some cleanups")
> Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
> ---
>  drivers/hwmon/pwm-fan.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c
> index 17518b4cab1b..f12b9a28a232 100644
> --- a/drivers/hwmon/pwm-fan.c
> +++ b/drivers/hwmon/pwm-fan.c
> @@ -336,8 +336,6 @@ static int pwm_fan_probe(struct platform_device *pdev)
>  			return ret;
>  	}
>  
> -	ctx->pwm_value = MAX_PWM;
> -
>  	pwm_init_state(ctx->pwm, &ctx->pwm_state);

Ah, I see. The effect is that the FAN is supposed to be running at full
speed after probe, but this isn't asserted.

So the patch is fine, but I suggest to make the commit log a bit more
frightening. Something like:

	hwmon: (pwm-fan) Ensure the fan going on in .probe()
	
	Before commit 86585c61972f ("hwmon: (pwm-fan) stop using legacy
	PWM functions and some cleanups") pwm_apply_state() was called
	unconditionally in pwm_fan_probe(). In this commit this direct
	call was replaced by a call to __set_pwm(ct, MAX_PWM) which
	however is a noop if ctx->pwm_value already matches the value to
	set.

	After probe the fan is supposed to run at full speed, and the
	internal driver state suggests it does, but this isn't asserted
	and depending on bootloader and pwm low-level driver, the fan
	might just be off.

	So drop setting pwm_value to MAXX_PWM to ensure the check in
	__set_pwm doesn't make it exit early and the fan goes on as
	intended.

	Cc: stable@vger.kernel.org
	Fixes: 86585c61972f ("hwmon: (pwm-fan) stop using legacy PWM functions and some cleanups")

Best regards and thanks for cleaning up after me,
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] hwmon: (pwm-fan) Let ctx->pwm_value be assigned only in __set_pwm
  2021-11-30  6:55 ` Uwe Kleine-König
@ 2021-11-30  9:12   ` Billy Tsai
  0 siblings, 0 replies; 3+ messages in thread
From: Billy Tsai @ 2021-11-30  9:12 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: b.zolnierkie, jdelvare, linux, linux-hwmon, linux-kernel, BMC-SW

Hi Uwe,

On 2021/11/30, 4:21 PM, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> wrote:

    Hello,

    On Tue, Nov 30, 2021 at 11:00:46AM +0800, Billy Tsai wrote:
    >   > This patch is used to fix the bug when pwm_fan_probe the pwm_value will
    >   > be out of sync with the PWM hardware drivers.
    >   > 
    >   > Fixes: 86585c61972f ("hwmon: (pwm-fan) stop using legacy PWM functions and some cleanups")
    >   > Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
    >   > ---
    >   >  drivers/hwmon/pwm-fan.c | 2 --
    >   >  1 file changed, 2 deletions(-)
    >   > 
    >   > diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c
    >   > index 17518b4cab1b..f12b9a28a232 100644
    >   > --- a/drivers/hwmon/pwm-fan.c
    >   > +++ b/drivers/hwmon/pwm-fan.c
    >   > @@ -336,8 +336,6 @@ static int pwm_fan_probe(struct platform_device *pdev)
    >   >  			return ret;
    >   >  	}
    >   >  
    >   > -	ctx->pwm_value = MAX_PWM;
    >   > -
    >   >  	pwm_init_state(ctx->pwm, &ctx->pwm_state);

    >   Ah, I see. The effect is that the FAN is supposed to be running at full
    >   speed after probe, but this isn't asserted.

    >   So the patch is fine, but I suggest to make the commit log a bit more
    >   frightening. Something like:

    >   	hwmon: (pwm-fan) Ensure the fan going on in .probe()

    >   	Before commit 86585c61972f ("hwmon: (pwm-fan) stop using legacy
    >   	PWM functions and some cleanups") pwm_apply_state() was called
    >   	unconditionally in pwm_fan_probe(). In this commit this direct
    >   	call was replaced by a call to __set_pwm(ct, MAX_PWM) which
    >   	however is a noop if ctx->pwm_value already matches the value to
    >   	set.

    >   	After probe the fan is supposed to run at full speed, and the
    >   	internal driver state suggests it does, but this isn't asserted
    >   	and depending on bootloader and pwm low-level driver, the fan
    >   	might just be off.

    >   	So drop setting pwm_value to MAXX_PWM to ensure the check in
    >   	__set_pwm doesn't make it exit early and the fan goes on as
    >   	intended.

    >   	Cc: stable@vger.kernel.org
    >   	Fixes: 86585c61972f ("hwmon: (pwm-fan) stop using legacy PWM functions and some cleanups")
Ok, I will use this commit log and resend the patch.

Best Regards,
Billy Tsai


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-11-30  9:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-30  3:00 [PATCH] hwmon: (pwm-fan) Let ctx->pwm_value be assigned only in __set_pwm Billy Tsai
2021-11-30  6:55 ` Uwe Kleine-König
2021-11-30  9:12   ` Billy Tsai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®