EDAC/amd64: Don't set up EDAC PCI control on Family 17h+
authorYazen Ghannam <yazen.ghannam@amd.com>
Fri, 27 Jan 2023 17:03:58 +0000 (17:03 +0000)
committerBorislav Petkov (AMD) <bp@alien8.de>
Thu, 9 Feb 2023 10:14:53 +0000 (11:14 +0100)
EDAC PCI control is used to detect/report legacy PCI errors like
"Parity" and "SERROR". Modern AMD systems use PCIe Advanced Error
Reporting (AER), and legacy PCI errors should not be reported.

Remove EDAC PCI control setup on AMD Family 17h and later systems.

Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230127170419.1824692-2-yazen.ghannam@amd.com
drivers/edac/amd64_edac.c

index e3318e5575a34be50506240206cd146881501feb..2cc7336a5121c63f1864be6dd016c842b1b9022b 100644 (file)
@@ -4370,12 +4370,12 @@ static int __init amd64_edac_init(void)
        }
 
        /* register stuff with EDAC MCE */
-       if (boot_cpu_data.x86 >= 0x17)
+       if (boot_cpu_data.x86 >= 0x17) {
                amd_register_ecc_decoder(decode_umc_error);
-       else
+       } else {
                amd_register_ecc_decoder(decode_bus_error);
-
-       setup_pci_device();
+               setup_pci_device();
+       }
 
 #ifdef CONFIG_X86_32
        amd64_err("%s on 32-bit is unsupported. USE AT YOUR OWN RISK!\n", EDAC_MOD_STR);