From c2294a2f7853e6450361d078b65407bdaa6d1d11 Mon Sep 17 00:00:00 2001 From: Dirk Brandewie Date: Mon, 24 Mar 2014 07:41:29 -0700 Subject: intel_pstate: Use del_timer_sync in intel_pstate_cpu_stop Ensure that no timer callback is running since we are about to free the timer structure. We cannot guarantee that the call back is called on the CPU where the timer is running. Reported-by: Thomas Gleixner Signed-off-by: Dirk Brandewie Reviewed-by: Srivatsa S. Bhat Acked-by: Viresh Kumar Signed-off-by: Rafael J. Wysocki --- drivers/cpufreq/intel_pstate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/cpufreq') diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index bcb9a6d0ae1..099967302bf 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c @@ -778,7 +778,7 @@ static void intel_pstate_stop_cpu(struct cpufreq_policy *policy) pr_info("intel_pstate CPU %d exiting\n", cpu_num); - del_timer(&all_cpu_data[cpu_num]->timer); + del_timer_sync(&all_cpu_data[cpu_num]->timer); intel_pstate_set_pstate(cpu, cpu->pstate.min_pstate); kfree(all_cpu_data[cpu_num]); all_cpu_data[cpu_num] = NULL; -- cgit v1.2.3-70-g09d2