Ver Fonte

cpufreq: powernv: Fix uninitialized lpstate_idx in gpstates_timer_handler()

lpstate_idx remains uninitialized in the case when elapsed_time
is greater than MAX_RAMP_DOWN_TIME.  At the end of rampdown the
global pstate should be equal to the local pstate.

Fixes: 20b15b766354 (cpufreq: powernv: Use PMCR to verify global and localpstate)
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Akshay Adiga <akshay.adiga@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Akshay Adiga há 8 anos atrás
pai
commit
c9a81e6864
1 ficheiros alterados com 1 adições e 0 exclusões
  1. 1 0
      drivers/cpufreq/powernv-cpufreq.c

+ 1 - 0
drivers/cpufreq/powernv-cpufreq.c

@@ -624,6 +624,7 @@ void gpstate_timer_handler(unsigned long data)
 
 
 	if (gpstates->elapsed_time > MAX_RAMP_DOWN_TIME) {
 	if (gpstates->elapsed_time > MAX_RAMP_DOWN_TIME) {
 		gpstate_idx = pstate_to_idx(freq_data.pstate_id);
 		gpstate_idx = pstate_to_idx(freq_data.pstate_id);
+		lpstate_idx = gpstate_idx;
 		reset_gpstates(policy);
 		reset_gpstates(policy);
 		gpstates->highest_lpstate_idx = gpstate_idx;
 		gpstates->highest_lpstate_idx = gpstate_idx;
 	} else {
 	} else {