From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753358AbdFMMt2 (ORCPT ); Tue, 13 Jun 2017 08:49:28 -0400 Received: from mx2.suse.de ([195.135.220.15]:52124 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752456AbdFMMt0 (ORCPT ); Tue, 13 Jun 2017 08:49:26 -0400 From: Juergen Gross To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org Cc: boris.ostrovsky@oracle.com, hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, tony.luck@intel.com, bp@alien8.de, Juergen Gross Subject: [PATCH] xen/mce: don't issue error message for failed /dev/mcelog registration Date: Tue, 13 Jun 2017 14:49:21 +0200 Message-Id: <20170613124921.12795-1-jgross@suse.com> X-Mailer: git-send-email 2.12.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When running under Xen as dom0 /dev/mcelog is being registered by Xen instead of the normal mcelog driver. Avoid an error message being issued by the mcelog driver in this case. Instead issue an informative message that Xen has registered the device. Signed-off-by: Juergen Gross --- arch/x86/kernel/cpu/mcheck/dev-mcelog.c | 6 +++++- drivers/xen/mcelog.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/mcheck/dev-mcelog.c b/arch/x86/kernel/cpu/mcheck/dev-mcelog.c index 9c632cb88546..43fbe2a70051 100644 --- a/arch/x86/kernel/cpu/mcheck/dev-mcelog.c +++ b/arch/x86/kernel/cpu/mcheck/dev-mcelog.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "mce-internal.h" @@ -387,10 +388,13 @@ static __init int dev_mcelog_init_device(void) /* register character device /dev/mcelog */ err = misc_register(&mce_chrdev_device); - if (err) { + /* Xen dom0 might have registered the device already. */ + if (err && (err != -EBUSY || !xen_initial_domain() || + !IS_ENABLED(CONFIG_XEN_MCE_LOG))) { pr_err("Unable to init device /dev/mcelog (rc: %d)\n", err); return err; } + mce_register_decode_chain(&dev_mcelog_nb); return 0; } 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) if (ret) goto deregister; + pr_info("/dev/mcelog registered by Xen\n"); + return 0; deregister: -- 2.12.3