When 'osc_sb_apei_support_acked' is set, it indicates that
the platform supports APEI, firmware-first mode, as ACPI _OSC
capability bit 4, APEI Support, was set in query.  While _OSC
is an optional method, platforms with APEI support should
implement it to inform its capability to the OS properly.

Add check to 'osc_sb_apei_support_acked' before calling
ghes_edac_register() to restrict that ghes_edac is enabled
on platforms with APEI support capability set in _OSC.

Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
Cc: "Rafael J. Wysocki" <r...@rjwysocki.net>
Cc: Borislav Petkov <b...@alien8.de>
Cc: Mauro Carvalho Chehab <mche...@kernel.org>
Cc: Tony Luck <tony.l...@intel.com>
---
 drivers/acpi/apei/ghes.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index d661d45..49d75eb 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -1139,9 +1139,11 @@ static int ghes_probe(struct platform_device *ghes_dev)
                goto err;
        }
 
-       rc = ghes_edac_register(ghes, &ghes_dev->dev);
-       if (rc < 0)
-               goto err;
+       if (osc_sb_apei_support_acked) {
+               rc = ghes_edac_register(ghes, &ghes_dev->dev);
+               if (rc < 0)
+                       goto err;
+       }
 
        switch (generic->notify.type) {
        case ACPI_HEST_NOTIFY_POLLED:

Reply via email to