Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bad11e03 authored by Borislav Petkov's avatar Borislav Petkov
Browse files

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
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -836,18 +836,21 @@ static struct notifier_block amd_mce_dec_nb = {

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;

	if ((boot_cpu_data.x86 < 0xf || boot_cpu_data.x86 > 0x12) &&
	    (boot_cpu_data.x86 != 0x14 || boot_cpu_data.x86_model > 0xf))
	if ((c->x86 < 0xf || c->x86 > 0x12) &&
	    (c->x86 != 0x14 || c->x86_model > 0xf) &&
	    (c->x86 != 0x15 || c->x86_model > 0xf))
		return 0;

	fam_ops = kzalloc(sizeof(struct amd_decoder_ops), GFP_KERNEL);
	if (!fam_ops)
		return -ENOMEM;

	switch (boot_cpu_data.x86) {
	switch (c->x86) {
	case 0xf:
		fam_ops->dc_mce = k8_dc_mce;
		fam_ops->ic_mce = k8_ic_mce;
@@ -887,8 +890,7 @@ static int __init mce_amd_init(void)
		break;

	default:
		printk(KERN_WARNING "Huh? What family is that: %d?!\n",
				    boot_cpu_data.x86);
		printk(KERN_WARNING "Huh? What family is that: %d?!\n", c->x86);
		kfree(fam_ops);
		return -EINVAL;
	}