ghes, EDAC: Fix ghes_edac registration
authorBorislav Petkov <bp@suse.de>
Mon, 23 Apr 2018 12:16:46 +0000 (14:16 +0200)
committerBorislav Petkov <bp@suse.de>
Wed, 2 May 2018 11:57:30 +0000 (13:57 +0200)
commitcc7f3f132658289b6661ab8294ab08a9d32ea026
tree5403eea1c81d55c8ef894d9a9d6cf7cc5731bc9a
parent6d08b06e67cd117f6992c46611dfb4ce267cd71e
ghes, EDAC: Fix ghes_edac registration

Tony reported seeing

  "Internal error: Can't find EDAC structure"

when injecting correctable errors due to the fact that ghes_edac would
still load even if the whitelist won't hit. Drop the pr_err() in
ghes_edac_report_mem_error() for now due to the hacky way how ghes_edac
depends on ghes.c.

While at it, make ghes_edac_register() return an error if it doesn't hit
in the whitelist as it is the only sensible thing to do in that
situation.

Furthermore, move the call to it to happen last in ghes_probe() so that
GHES initializing properly does not depend on ghes_edac init at all
as latter is only reporting errors and not required for GHES's proper
functioning.

Reviewed-by: Toshi Kani <toshi.kani@hpe.com>
Tested-by: Sughosh Ganu <sughosh.ganu@arm.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20180420182015.zao3olss4tvvlxki@agluck-desk
drivers/acpi/apei/ghes.c
drivers/edac/ghes_edac.c
include/acpi/ghes.h