]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
platform/x86: hp-wmi: use mod_delayed_work to reset keep-alive timer
authorEmre Cecanpunar <emreleno@gmail.com>
Tue, 7 Apr 2026 14:25:12 +0000 (17:25 +0300)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Thu, 9 Apr 2026 11:46:32 +0000 (14:46 +0300)
commit6297443beb0c5606399ec7d4f4b335e2e7379147
treec334fc644ea5cd566b2fee2fde26b2114938d6db
parent249ddba9c0ba4453c0a6bc0e3626e7864751d940
platform/x86: hp-wmi: use mod_delayed_work to reset keep-alive timer

Currently, schedule_delayed_work() is used to queue the 90s keep-alive
timer. If a user manually changes the fan speed at T=85s,
schedule_delayed_work() leaves the existing timer in place as it is a
no-op if the work is already pending. This results in the keep-alive
timer firing unnecessarily at T=90s, just 5 seconds after the user
action.

Replace schedule_delayed_work() with mod_delayed_work() to reset the
90s timer whenever fan settings are applied. This guarantees a full 90s
delay after every user interaction, preventing redundant keep-alive
executions and improving efficiency.

Fixes: c203c59fb5de ("platform/x86: hp-wmi: implement fan keep-alive")
Signed-off-by: Emre Cecanpunar <emreleno@gmail.com>
Link: https://patch.msgid.link/20260407142515.20683-4-emreleno@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/hp/hp-wmi.c