From: Dirk Brandewie <[email protected]>

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 <[email protected]>
Signed-off-by: Dirk Brandewie <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Cc: cpufreq <[email protected]>
---
 drivers/cpufreq/intel_pstate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index e9092fd..a4a9ba5 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -780,7 +780,7 @@ static int intel_pstate_cpu_stop(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;
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to