Commit bad11e03 authored by Borislav Petkov's avatar Borislav Petkov

EDAC, MCE: Enable MCE decoding on F15h

Now that everything is inplace, enable MCE decoding on F15h. Make
initcall routine a bit more readable.
Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
parent 1b07ca47
...@@ -836,18 +836,21 @@ static struct notifier_block amd_mce_dec_nb = { ...@@ -836,18 +836,21 @@ static struct notifier_block amd_mce_dec_nb = {
static int __init mce_amd_init(void) static int __init mce_amd_init(void)
{ {
if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) struct cpuinfo_x86 *c = &boot_cpu_data;
if (c->x86_vendor != X86_VENDOR_AMD)
return 0; return 0;
if ((boot_cpu_data.x86 < 0xf || boot_cpu_data.x86 > 0x12) && if ((c->x86 < 0xf || c->x86 > 0x12) &&
(boot_cpu_data.x86 != 0x14 || boot_cpu_data.x86_model > 0xf)) (c->x86 != 0x14 || c->x86_model > 0xf) &&
(c->x86 != 0x15 || c->x86_model > 0xf))
return 0; return 0;
fam_ops = kzalloc(sizeof(struct amd_decoder_ops), GFP_KERNEL); fam_ops = kzalloc(sizeof(struct amd_decoder_ops), GFP_KERNEL);
if (!fam_ops) if (!fam_ops)
return -ENOMEM; return -ENOMEM;
switch (boot_cpu_data.x86) { switch (c->x86) {
case 0xf: case 0xf:
fam_ops->dc_mce = k8_dc_mce; fam_ops->dc_mce = k8_dc_mce;
fam_ops->ic_mce = k8_ic_mce; fam_ops->ic_mce = k8_ic_mce;
...@@ -887,8 +890,7 @@ static int __init mce_amd_init(void) ...@@ -887,8 +890,7 @@ static int __init mce_amd_init(void)
break; break;
default: default:
printk(KERN_WARNING "Huh? What family is that: %d?!\n", printk(KERN_WARNING "Huh? What family is that: %d?!\n", c->x86);
boot_cpu_data.x86);
kfree(fam_ops); kfree(fam_ops);
return -EINVAL; return -EINVAL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment