diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c index e6513e994088..8b0c7db85a47 100644 --- a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c +++ b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c | |||
@@ -101,10 +101,13 @@ static unsigned extract_io(u32 value, struct acpi_cpufreq_data *data) | |||
101 | static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data) | 101 | static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data) |
102 | { | 102 | { |
103 | int i; | 103 | int i; |
104 | struct acpi_processor_performance *perf; | ||
104 | 105 | ||
105 | msr &= INTEL_MSR_RANGE; | 106 | msr &= INTEL_MSR_RANGE; |
107 | perf = data->acpi_data; | ||
108 | |||
106 | for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { | 109 | for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { |
107 | if (msr == data->freq_table[i].index) | 110 | if (msr == perf->states[data->freq_table[i].index].status) |
108 | return data->freq_table[i].frequency; | 111 | return data->freq_table[i].frequency; |
109 | } | 112 | } |
110 | return data->freq_table[0].frequency; | 113 | return data->freq_table[0].frequency; |