diff options
Diffstat (limited to 'drivers/cpufreq/intel_pstate.c')
-rw-r--r-- | drivers/cpufreq/intel_pstate.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 5f1cbae36961..d51f17ed691e 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c | |||
@@ -581,7 +581,8 @@ static void intel_pstate_timer_func(unsigned long __data) | |||
581 | } | 581 | } |
582 | 582 | ||
583 | #define ICPU(model, policy) \ | 583 | #define ICPU(model, policy) \ |
584 | { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, (unsigned long)&policy } | 584 | { X86_VENDOR_INTEL, 6, model, X86_FEATURE_APERFMPERF,\ |
585 | (unsigned long)&policy } | ||
585 | 586 | ||
586 | static const struct x86_cpu_id intel_pstate_cpu_ids[] = { | 587 | static const struct x86_cpu_id intel_pstate_cpu_ids[] = { |
587 | ICPU(0x2a, core_params), | 588 | ICPU(0x2a, core_params), |
@@ -614,6 +615,11 @@ static int intel_pstate_init_cpu(unsigned int cpunum) | |||
614 | cpu = all_cpu_data[cpunum]; | 615 | cpu = all_cpu_data[cpunum]; |
615 | 616 | ||
616 | intel_pstate_get_cpu_pstates(cpu); | 617 | intel_pstate_get_cpu_pstates(cpu); |
618 | if (!cpu->pstate.current_pstate) { | ||
619 | all_cpu_data[cpunum] = NULL; | ||
620 | kfree(cpu); | ||
621 | return -ENODATA; | ||
622 | } | ||
617 | 623 | ||
618 | cpu->cpu = cpunum; | 624 | cpu->cpu = cpunum; |
619 | 625 | ||