Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42c74b84 authored by Prarit Bhargava's avatar Prarit Bhargava Committed by Dave Jones
Browse files

[CPUFREQ] Do not set policy for offline cpus



Suspend/Resume fails on multi socket, multi core systems because the cpufreq
code erroneously sets the per_cpu policy_cpu value when a logical cpu is
offline.

This most notably results in missing sysfs files that are used to set the
cpu frequencies of the various cpus.

Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
Signed-off-by: default avatarDave Jones <davej@redhat.com>
parent 26d204af
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -924,6 +924,8 @@ static int cpufreq_add_dev(struct sys_device *sys_dev)

	spin_lock_irqsave(&cpufreq_driver_lock, flags);
	for_each_cpu(j, policy->cpus) {
		if (!cpu_online(j))
			continue;
		per_cpu(cpufreq_cpu_data, j) = policy;
		per_cpu(policy_cpu, j) = policy->cpu;
	}