aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2017-06-20 17:16:37 -0400
committerThomas Gleixner <tglx@linutronix.de>2017-06-20 17:25:19 -0400
commitb867059018a5254cca14450eefb6fb8effa0f6dd (patch)
tree5eaa18f20e71e19407c65afea2a29044ea82cf41
parent6057077f6ebc0747c2f5b21dfb1eb782f489d0f6 (diff)
x86/MCE, xen/mcelog: Make /dev/mcelog registration messages more precise
When running under Xen as dom0, /dev/mcelog is being provided by Xen instead of the normal mcelog character device of the MCE core. Convert an error message being issued by the MCE core in this case to an informative message that Xen has registered the device. Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Borislav Petkov <bp@suse.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: xen-devel@lists.xenproject.org Cc: Tony Luck <tony.luck@intel.com> Cc: linux-edac <linux-edac@vger.kernel.org> Link: http://lkml.kernel.org/r/20170614084059.19294-1-jgross@suse.com
-rw-r--r--arch/x86/kernel/cpu/mcheck/dev-mcelog.c8
-rw-r--r--drivers/xen/mcelog.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/dev-mcelog.c b/arch/x86/kernel/cpu/mcheck/dev-mcelog.c
index a80427c30c93..10cec43aac38 100644
--- a/arch/x86/kernel/cpu/mcheck/dev-mcelog.c
+++ b/arch/x86/kernel/cpu/mcheck/dev-mcelog.c
@@ -415,9 +415,15 @@ static __init int dev_mcelog_init_device(void)
415 /* register character device /dev/mcelog */ 415 /* register character device /dev/mcelog */
416 err = misc_register(&mce_chrdev_device); 416 err = misc_register(&mce_chrdev_device);
417 if (err) { 417 if (err) {
418 pr_err("Unable to init device /dev/mcelog (rc: %d)\n", err); 418 if (err == -EBUSY)
419 /* Xen dom0 might have registered the device already. */
420 pr_info("Unable to init device /dev/mcelog, already registered");
421 else
422 pr_err("Unable to init device /dev/mcelog (rc: %d)\n", err);
423
419 return err; 424 return err;
420 } 425 }
426
421 mce_register_decode_chain(&dev_mcelog_nb); 427 mce_register_decode_chain(&dev_mcelog_nb);
422 return 0; 428 return 0;
423} 429}
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
index a493c7315e94..6cc1c15bcd84 100644
--- a/drivers/xen/mcelog.c
+++ b/drivers/xen/mcelog.c
@@ -408,6 +408,8 @@ static int __init xen_late_init_mcelog(void)
408 if (ret) 408 if (ret)
409 goto deregister; 409 goto deregister;
410 410
411 pr_info("/dev/mcelog registered by Xen\n");
412
411 return 0; 413 return 0;
412 414
413deregister: 415deregister: