From: Rafael J. Wysocki <rafael.j.wyso...@intel.com> Race conditions are possible if intel_cpufreq_verify_policy() is executed in parallel with global limits updates from sysfs, so the invocation of intel_pstate_update_perf_limits() in it should be carried out under intel_pstate_limits_lock.
Make that happen. Signed-off-by: Rafael J. Wysocki <rafael.j.wyso...@intel.com> --- drivers/cpufreq/intel_pstate.c | 4 ++++ 1 file changed, 4 insertions(+) Index: linux-pm/drivers/cpufreq/intel_pstate.c =================================================================== --- linux-pm.orig/drivers/cpufreq/intel_pstate.c +++ linux-pm/drivers/cpufreq/intel_pstate.c @@ -2157,8 +2157,12 @@ static int intel_cpufreq_verify_policy(s if (per_cpu_limits) perf_limits = cpu->perf_limits; + mutex_lock(&intel_pstate_limits_lock); + intel_pstate_update_perf_limits(policy, perf_limits); + mutex_unlock(&intel_pstate_limits_lock); + return 0; }