]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cpufreq: Force sync policy boost with global boost on sysfs update
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 24 Apr 2025 16:20:18 +0000 (21:50 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:04:17 +0000 (11:04 +0100)
[ Upstream commit 121baab7b88ed865532dadb7ef1aee6e2bea86f5 ]

If the global boost flag is enabled and policy boost flag is disabled, a
call to `cpufreq_boost_trigger_state(true)` must enable the policy's
boost state.

The current code misses that because of an optimization. Fix it.

Suggested-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Reviewed-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://patch.msgid.link/852ff11c589e6300730d207baac195b2d9d8b95f.1745511526.git.viresh.kumar@linaro.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/cpufreq/cpufreq.c

index d13139497da44291ac5e87df00610aa75b2de79f..6294e10657b46be4a169c2948f6c73f2bc423eec 100644 (file)
@@ -2637,8 +2637,10 @@ int cpufreq_boost_trigger_state(int state)
        unsigned long flags;
        int ret = 0;
 
-       if (cpufreq_driver->boost_enabled == state)
-               return 0;
+       /*
+        * Don't compare 'cpufreq_driver->boost_enabled' with 'state' here to
+        * make sure all policies are in sync with global boost flag.
+        */
 
        write_lock_irqsave(&cpufreq_driver_lock, flags);
        cpufreq_driver->boost_enabled = state;