Skip to content

Commit 0ae2044

Browse files
Lifeng Zhengrafaeljw
authored andcommitted
cpufreq: Exit governor when failed to start old governor
Detect the result of starting old governor in cpufreq_set_policy(). If it fails, exit the governor and clear policy->governor. Signed-off-by: Lifeng Zheng <zhenglifeng1@huawei.com> Link: https://patch.msgid.link/20250709104145.2348017-5-zhenglifeng1@huawei.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 908981d commit 0ae2044

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

drivers/cpufreq/cpufreq.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2711,10 +2711,12 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy,
27112711
pr_debug("starting governor %s failed\n", policy->governor->name);
27122712
if (old_gov) {
27132713
policy->governor = old_gov;
2714-
if (cpufreq_init_governor(policy))
2714+
if (cpufreq_init_governor(policy)) {
27152715
policy->governor = NULL;
2716-
else
2717-
cpufreq_start_governor(policy);
2716+
} else if (cpufreq_start_governor(policy)) {
2717+
cpufreq_exit_governor(policy);
2718+
policy->governor = NULL;
2719+
}
27182720
}
27192721

27202722
return ret;

0 commit comments

Comments
 (0)