diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 565dc52dbb6fb404b3e53e87959bf1a8e6b2df2b..82dab1692264d04baeb409622d54bbd895e013ff 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -3440,8 +3440,11 @@ static int __init amd64_edac_init(void) int err = -ENODEV; int i; + if (!x86_match_cpu(amd64_cpuids)) + return -ENODEV; + if (amd_cache_northbridges() < 0) - goto err_ret; + return -ENODEV; opstate_init(); @@ -3497,7 +3500,6 @@ static int __init amd64_edac_init(void) kfree(ecc_stngs); ecc_stngs = NULL; -err_ret: return err; } diff --git a/drivers/edac/amd64_edac.h b/drivers/edac/amd64_edac.h index 469506fcc0fca0d3353fe9ecaa256dbedd5974da..6acbfd3e0158358d0338affb7f327e06510a10d8 100644 --- a/drivers/edac/amd64_edac.h +++ b/drivers/edac/amd64_edac.h @@ -16,6 +16,7 @@ #include <linux/slab.h> #include <linux/mmzone.h> #include <linux/edac.h> +#include <asm/cpu_device_id.h> #include <asm/msr.h> #include "edac_module.h" #include "mce_amd.h"