[PATCH-next v2 2/2] cpufreq: powernv: del_timer_sync when global and local pstate are equal

From: Akshay Adiga
Date: Tue May 03 2016 - 11:36:21 EST


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 <akshay.adiga@xxxxxxxxxxxxxxxxxx>
---
Patch is based on Rafael's linux-next
drivers/cpufreq/powernv-cpufreq.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 1f0e20c..54c4536 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;
--
2.5.5