forked from mirrors/linux
		
	cpufreq: acpi-cpufreq: Don't set policy->related_cpus from .init()
With the addition of following patch:
fcf8058 cpufreq: Simplify cpufreq_add_dev()
cpufreq driver's .init() routine must initialize policy->cpus with
mask of all possible CPUs (Online + Offline) that share the clock.
Then the core would copy this mask onto policy->related_cpus and will
reset policy->cpus to carry only online cpus.
acpi-cpufreq driver wasn't updated with this assumption and so
sometimes when we try to hot[un]plug CPUs at run time, sysfs
directories get corrupted.
This patch fixes acpi-cpufreq driver against this corruption.
Reported-and-tested-by: Maciej Rutecki <maciej.rutecki@gmail.com>
Tested-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
			
			
This commit is contained in:
		
							parent
							
								
									187da1d97f
								
							
						
					
					
						commit
						aa77a52764
					
				
					 1 changed files with 0 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -730,7 +730,6 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
 | 
			
		|||
	    policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) {
 | 
			
		||||
		cpumask_copy(policy->cpus, perf->shared_cpu_map);
 | 
			
		||||
	}
 | 
			
		||||
	cpumask_copy(policy->related_cpus, perf->shared_cpu_map);
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_SMP
 | 
			
		||||
	dmi_check_system(sw_any_bug_dmi_table);
 | 
			
		||||
| 
						 | 
				
			
			@ -742,7 +741,6 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
 | 
			
		|||
	if (check_amd_hwpstate_cpu(cpu) && !acpi_pstate_strict) {
 | 
			
		||||
		cpumask_clear(policy->cpus);
 | 
			
		||||
		cpumask_set_cpu(cpu, policy->cpus);
 | 
			
		||||
		cpumask_copy(policy->related_cpus, cpu_sibling_mask(cpu));
 | 
			
		||||
		policy->shared_type = CPUFREQ_SHARED_TYPE_HW;
 | 
			
		||||
		pr_info_once(PFX "overriding BIOS provided _PSD data\n");
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue