Punit Agrawal <punit.agrawal@xxxxxxx> writes: > According to the ACPI specification, firmware is not required to provide > the Hardware Error Source Table (HEST). When HEST is not present, the > following superfluous message is printed to the kernel boot log - > > [ 3.460067] GHES: HEST is not enabled! > > Extend hest_disable variable to track whether the firmware provides this > table and if it is not present skip any log output. The existing > behaviour is preserved in all other cases. > > Suggested-by: Borislav Petkov <bp@xxxxxxx> > Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> > Cc: Borislav Petkov <bp@xxxxxxx> > Cc: James Morse <james.morse@xxxxxxx> > --- > drivers/acpi/apei/ghes.c | 4 ++-- > drivers/acpi/apei/hest.c | 13 +++++++------ > include/acpi/apei.h | 8 +++++++- > 3 files changed, 16 insertions(+), 9 deletions(-) > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > index d661d452b238..f8685bcbeff2 100644 > --- a/drivers/acpi/apei/ghes.c > +++ b/drivers/acpi/apei/ghes.c > @@ -1262,10 +1262,10 @@ static int __init ghes_init(void) > { > int rc; > > - if (acpi_disabled) > + if (acpi_disabled || hest_disable == HEST_NOT_FOUND) > return -ENODEV; > > - if (hest_disable) { > + if (hest_disable == HEST_DISABLED) { > pr_info(GHES_PFX "HEST is not enabled!\n"); > return -EINVAL; > } > diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c > index 456b488eb1df..9cb74115a43d 100644 > --- a/drivers/acpi/apei/hest.c > +++ b/drivers/acpi/apei/hest.c > @@ -37,7 +37,7 @@ > > #define HEST_PFX "HEST: " > > -bool hest_disable; > +int hest_disable; > EXPORT_SYMBOL_GPL(hest_disable); > > /* HEST table parsing */ > @@ -213,7 +213,7 @@ static int __init hest_ghes_dev_register(unsigned int ghes_count) > > static int __init setup_hest_disable(char *str) > { > - hest_disable = 1; > + hest_disable = HEST_DISABLED; > return 0; > } > > @@ -232,9 +232,10 @@ void __init acpi_hest_init(void) > > status = acpi_get_table(ACPI_SIG_HEST, 0, > (struct acpi_table_header **)&hest_tab); > - if (status == AE_NOT_FOUND) > - goto err; > - else if (ACPI_FAILURE(status)) { > + if (status == AE_NOT_FOUND) { > + hest_disable = HEST_NOT_FOUND; > + return; > + } else if (ACPI_FAILURE(status)) { > const char *msg = acpi_format_exception(status); > pr_err(HEST_PFX "Failed to get table, %s\n", msg); > rc = -EINVAL; > @@ -257,5 +258,5 @@ void __init acpi_hest_init(void) > pr_info(HEST_PFX "Table parsing has been initialized.\n"); > return; > err: > - hest_disable = 1; > + hest_disable = HEST_DISABLED; > } > diff --git a/include/acpi/apei.h b/include/acpi/apei.h > index 76284bb560a6..c46694abea28 100644 > --- a/include/acpi/apei.h > +++ b/include/acpi/apei.h > @@ -16,7 +16,13 @@ > > #ifdef __KERNEL__ > > -extern bool hest_disable; > +enum hest_status { > + HEST_ENABLED, > + HEST_DISABLED, > + HEST_NOT_FOUND, > +}; > + > +extern int hest_disable; > extern int erst_disable; > #ifdef CONFIG_ACPI_APEI_GHES > extern bool ghes_disable; Ping! Looks like this one has slipped through the cracks? Any objections Boris? Thanks, Punit -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html