[PATCH] [CPUFREQ] powernow-k8: Don't try to transition if the pstate is incorrect or there is no freq for it.

From: Konrad Rzeszutek Wilk
Date: Wed Jun 15 2011 - 11:08:02 EST

This patch auguments the pstate transition code to error out
(instead of returning 0) when a incorrect pstate is provided.

It also checks whether the frequency for the pstate is
incorrect and if so errors out.

Suggested-by: Borislav Petkov <bp@xxxxxxxxx>
CC: andre.przywara@xxxxxxx
CC: Mark.Langsdorf@xxxxxxx
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
drivers/cpufreq/powernow-k8.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c
index fe53572..047c7b11 100644
--- a/drivers/cpufreq/powernow-k8.c
+++ b/drivers/cpufreq/powernow-k8.c
@@ -1103,11 +1103,15 @@ static int transition_frequency_pstate(struct powernow_k8_data *data,
/* get MSR index for hardware pstate transition */
pstate = index & HW_PSTATE_MASK;
if (pstate > data->max_hw_pstate)
- return 0;
+ return -EINVAL;
freqs.old = find_khz_freq_from_pstate(data->powernow_table,
freqs.new = find_khz_freq_from_pstate(data->powernow_table, pstate);

+ if (freqs.new == CPUFREQ_ENTRY_INVALID)
+ return -EINVAL;
for_each_cpu(i, data->available_cores) {
freqs.cpu = i;
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);

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