From: Akshay Adiga Date: Tue, 3 May 2016 15:19:36 +0000 (+0530) Subject: cpufreq: powernv: del_timer_sync when global and local pstate are equal X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=0bc10b93f2d9c6089ce968681ef9febecdc9b8e0;p=openwrt%2Fstaging%2Fblogic.git cpufreq: powernv: del_timer_sync when global and local pstate are equal When global and local pstate are equal in a powernv_target_index() call, we don't queue a timer. But we may have timer already queued for future. This could cause the timer to fire one additional time for no use. Signed-off-by: Akshay Adiga Acked-by: Viresh Kumar Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c index 1f0e20ccc2ff..54c45368e3f1 100644 --- a/drivers/cpufreq/powernv-cpufreq.c +++ b/drivers/cpufreq/powernv-cpufreq.c @@ -647,6 +647,8 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy, */ if (gpstate_id != freq_data.pstate_id) queue_gpstate_timer(gpstates); + else + del_timer_sync(&gpstates->timer); gpstates_done: freq_data.gpstate_id = gpstate_id;