aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorZhang Rui <rui.zhang@intel.com>2007-06-13 21:24:02 -0400
committerLen Brown <len.brown@intel.com>2007-06-13 21:24:02 -0400
commit3cdf552be228e1ca55f9c53a78f39e8b77d6159c (patch)
tree0e47a90f1f1b658dae11e6c7359dfa31cdd59f14 /arch
parenteedab661a51966c454e38c17266a531aa58b4a98 (diff)
ACPI: Discard invalid elements in _PSS package
Make sure that the _PSS list is sorted in descending order by typical power dissipation. http://bugzilla.kernel.org/show_bug.cgi?id=7880 Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
index 10baa3501ed..9ba2b69fc64 100644
--- a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -668,8 +668,8 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
data->max_freq = perf->states[0].core_frequency * 1000;
/* table init */
for (i=0; i<perf->state_count; i++) {
- if (i>0 && perf->states[i].core_frequency ==
- perf->states[i-1].core_frequency)
+ if (i>0 && perf->states[i].core_frequency >=
+ data->freq_table[valid_states-1].frequency / 1000)
continue;
data->freq_table[valid_states].index = i;