diff mbox

[v3] ACPI / APEI: Suppress message if HEST not present

Message ID 20170829132020.31471-1-punit.agrawal@arm.com (mailing list archive)
State Accepted, archived
Delegated to: Rafael Wysocki
Headers show

Commit Message

Punit Agrawal Aug. 29, 2017, 1:20 p.m. UTC
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@suse.de>
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: James Morse <james.morse@arm.com>
---

Changes in v3:
* Grouped hest_disable status checking into a switch/case for clarity

 drivers/acpi/apei/ghes.c |  7 ++++++-
 drivers/acpi/apei/hest.c | 13 +++++++------
 include/acpi/apei.h      |  8 +++++++-
 3 files changed, 20 insertions(+), 8 deletions(-)

Comments

Borislav Petkov Aug. 29, 2017, 3:32 p.m. UTC | #1
On Tue, Aug 29, 2017 at 02:20:20PM +0100, Punit Agrawal wrote:
> 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@suse.de>
> Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
> Cc: Borislav Petkov <bp@suse.de>
> Cc: James Morse <james.morse@arm.com>
> ---
> 
> Changes in v3:
> * Grouped hest_disable status checking into a switch/case for clarity
> 
>  drivers/acpi/apei/ghes.c |  7 ++++++-
>  drivers/acpi/apei/hest.c | 13 +++++++------
>  include/acpi/apei.h      |  8 +++++++-
>  3 files changed, 20 insertions(+), 8 deletions(-)

Reviewed-by: Borislav Petkov <bp@suse.de>
Punit Agrawal Aug. 30, 2017, 10:34 a.m. UTC | #2
Borislav Petkov <bp@suse.de> writes:

> On Tue, Aug 29, 2017 at 02:20:20PM +0100, Punit Agrawal wrote:
>> 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@suse.de>
>> Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
>> Cc: Borislav Petkov <bp@suse.de>
>> Cc: James Morse <james.morse@arm.com>
>> ---
>> 
>> Changes in v3:
>> * Grouped hest_disable status checking into a switch/case for clarity
>> 
>>  drivers/acpi/apei/ghes.c |  7 ++++++-
>>  drivers/acpi/apei/hest.c | 13 +++++++------
>>  include/acpi/apei.h      |  8 +++++++-
>>  3 files changed, 20 insertions(+), 8 deletions(-)
>
> Reviewed-by: Borislav Petkov <bp@suse.de>

Thanks!

Hopefully Rafael can pick the patch for the upcoming merge window.

>
> -- 
> Regards/Gruss,
>     Boris.
>
> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki Aug. 30, 2017, 11:54 a.m. UTC | #3
On Wednesday, August 30, 2017 12:34:55 PM CEST Punit Agrawal wrote:
> Borislav Petkov <bp@suse.de> writes:
> 
> > On Tue, Aug 29, 2017 at 02:20:20PM +0100, Punit Agrawal wrote:
> >> 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@suse.de>
> >> Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
> >> Cc: Borislav Petkov <bp@suse.de>
> >> Cc: James Morse <james.morse@arm.com>
> >> ---
> >> 
> >> Changes in v3:
> >> * Grouped hest_disable status checking into a switch/case for clarity
> >> 
> >>  drivers/acpi/apei/ghes.c |  7 ++++++-
> >>  drivers/acpi/apei/hest.c | 13 +++++++------
> >>  include/acpi/apei.h      |  8 +++++++-
> >>  3 files changed, 20 insertions(+), 8 deletions(-)
> >
> > Reviewed-by: Borislav Petkov <bp@suse.de>
> 
> Thanks!
> 
> Hopefully Rafael can pick the patch for the upcoming merge window.

Applied already, should show up in linux-next tomorrow.

Thanks,
Rafael

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Punit Agrawal Aug. 30, 2017, 12:54 p.m. UTC | #4
"Rafael J. Wysocki" <rjw@rjwysocki.net> writes:

> On Wednesday, August 30, 2017 12:34:55 PM CEST Punit Agrawal wrote:
>> Borislav Petkov <bp@suse.de> writes:
>> 
>> > On Tue, Aug 29, 2017 at 02:20:20PM +0100, Punit Agrawal wrote:
>> >> 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@suse.de>
>> >> Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
>> >> Cc: Borislav Petkov <bp@suse.de>
>> >> Cc: James Morse <james.morse@arm.com>
>> >> ---
>> >> 
>> >> Changes in v3:
>> >> * Grouped hest_disable status checking into a switch/case for clarity
>> >> 
>> >>  drivers/acpi/apei/ghes.c |  7 ++++++-
>> >>  drivers/acpi/apei/hest.c | 13 +++++++------
>> >>  include/acpi/apei.h      |  8 +++++++-
>> >>  3 files changed, 20 insertions(+), 8 deletions(-)
>> >
>> > Reviewed-by: Borislav Petkov <bp@suse.de>
>> 
>> Thanks!
>> 
>> Hopefully Rafael can pick the patch for the upcoming merge window.
>
> Applied already, should show up in linux-next tomorrow.

Neat! Thanks for picking up the patch.

>
> Thanks,
> Rafael
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index d661d452b238..f5efa8dea7b5 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -1265,9 +1265,14 @@  static int __init ghes_init(void)
 	if (acpi_disabled)
 		return -ENODEV;
 
-	if (hest_disable) {
+	switch (hest_disable) {
+	case HEST_NOT_FOUND:
+		return -ENODEV;
+	case HEST_DISABLED:
 		pr_info(GHES_PFX "HEST is not enabled!\n");
 		return -EINVAL;
+	default:
+		break;
 	}
 
 	if (ghes_disable) {
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;