diff options
Diffstat (limited to 'arch/x86/kernel/microcode_intel.c')
| -rw-r--r-- | arch/x86/kernel/microcode_intel.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/x86/kernel/microcode_intel.c b/arch/x86/kernel/microcode_intel.c index 3ca42d0e43a..0327e2b3c40 100644 --- a/arch/x86/kernel/microcode_intel.c +++ b/arch/x86/kernel/microcode_intel.c @@ -147,12 +147,6 @@ static int collect_cpu_info(int cpu_num, struct cpu_signature *csig)  	memset(csig, 0, sizeof(*csig)); -	if (c->x86_vendor != X86_VENDOR_INTEL || c->x86 < 6 || -	    cpu_has(c, X86_FEATURE_IA64)) { -		pr_err("CPU%d not a capable Intel processor\n", cpu_num); -		return -1; -	} -  	csig->sig = cpuid_eax(0x00000001);  	if ((c->x86_model >= 5) || (c->x86 > 6)) { @@ -463,6 +457,14 @@ static struct microcode_ops microcode_intel_ops = {  struct microcode_ops * __init init_intel_microcode(void)  { +	struct cpuinfo_x86 *c = &cpu_data(0); + +	if (c->x86_vendor != X86_VENDOR_INTEL || c->x86 < 6 || +	    cpu_has(c, X86_FEATURE_IA64)) { +		pr_err("Intel CPU family 0x%x not supported\n", c->x86); +		return NULL; +	} +  	return µcode_intel_ops;  }  |