diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig index 9faa3934c7c2fc4224009dd0195ce8d3ed81284b..07e7f4f0ef9a1988f14ba75291b84d10d084f507 100644 --- a/arch/arm64/configs/openeuler_defconfig +++ b/arch/arm64/configs/openeuler_defconfig @@ -722,6 +722,7 @@ CONFIG_HAVE_ACPI_APEI=y CONFIG_ACPI_APEI=y CONFIG_ACPI_APEI_GHES=y CONFIG_ACPI_APEI_GHES_TS_CORE=y +CONFIG_ACPI_APEI_GHES_NOTIFY_ALL_RAS_ERR=y CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI_SEA=y CONFIG_ACPI_APEI_MEMORY_FAILURE=y diff --git a/drivers/acpi/apei/Kconfig b/drivers/acpi/apei/Kconfig index f33c23062471fcef76fa23ea97ff0efb37bd1ed2..bf65cce12f618ee029bbee8f6dcc57d17a36009a 100644 --- a/drivers/acpi/apei/Kconfig +++ b/drivers/acpi/apei/Kconfig @@ -40,6 +40,13 @@ config ACPI_APEI_GHES_TS_CORE help Enable the support for ts core ras process for ascend. +config ACPI_APEI_GHES_NOTIFY_ALL_RAS_ERR + bool "Notify all ras err to driver" + depends on ARM64 && ACPI_APEI_GHES + default n + help + Deliver all types of error to driver. + config ACPI_APEI_PCIEAER bool "APEI PCIe AER logging/recovering support" depends on ACPI_APEI && PCIEAER diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index 316648e095716d2b6b7685f277ea797474cfd184..ec2c887bccb7ea3e0d71187bf8c2aaf86cc80d9c 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -667,14 +667,18 @@ static bool ghes_do_proc(struct ghes *ghes, #endif } else { void *err = acpi_hest_get_payload(gdata); - +#ifndef CONFIG_ACPI_APEI_GHES_NOTIFY_ALL_RAS_ERR + ghes_defer_non_standard_event(gdata, sev); +#endif log_non_standard_event(sec_type, fru_id, fru_text, sec_sev, err, gdata->error_data_length); } +#ifdef CONFIG_ACPI_APEI_GHES_NOTIFY_ALL_RAS_ERR /* Customization deliver all types error to driver. */ ghes_defer_non_standard_event(gdata, sev); +#endif } return queued;