EDAC, amd64: Don't force-enable ECC checking on newer systems
It's not recommended for the OS to try and force-enable ECC checking. This is considered a firmware task since it includes memory training, etc, so don't change ECC settings on Fam17h or newer systems and inform the user. Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com> Cc: Aravind Gopalakrishnan <aravindksg.lkml@gmail.com> Cc: linux-edac <linux-edac@vger.kernel.org> Link: http://lkml.kernel.org/r/1479850816-1595-1-git-send-email-Yazen.Ghannam@amd.com [ Put the "forcing" message in an else branch. ] Signed-off-by: Borislav Petkov <bp@suse.de>
This commit is contained in:
parent
d12a969ebb
commit
044e7a414b
@ -2629,7 +2629,6 @@ static void restore_ecc_error_reporting(struct ecc_settings *s, u16 nid,
|
||||
{
|
||||
u32 value, mask = 0x3; /* UECC/CECC enable */
|
||||
|
||||
|
||||
if (!s->nbctl_valid)
|
||||
return;
|
||||
|
||||
@ -2895,7 +2894,11 @@ static int probe_one_instance(unsigned int nid)
|
||||
if (!ecc_enable_override)
|
||||
goto err_enable;
|
||||
|
||||
amd64_warn("Forcing ECC on!\n");
|
||||
if (boot_cpu_data.x86 >= 0x17) {
|
||||
amd64_warn("Forcing ECC on is not recommended on newer systems. Please enable ECC in BIOS.");
|
||||
goto err_enable;
|
||||
} else
|
||||
amd64_warn("Forcing ECC on!\n");
|
||||
|
||||
if (!enable_ecc_error_reporting(s, nid, F3))
|
||||
goto err_enable;
|
||||
@ -2904,7 +2907,9 @@ static int probe_one_instance(unsigned int nid)
|
||||
ret = init_one_instance(nid);
|
||||
if (ret < 0) {
|
||||
amd64_err("Error probing instance: %d\n", nid);
|
||||
restore_ecc_error_reporting(s, nid, F3);
|
||||
|
||||
if (boot_cpu_data.x86 < 0x17)
|
||||
restore_ecc_error_reporting(s, nid, F3);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user