* Konrad Rzeszutek Wilk <[email protected]> wrote:

> This code is run unconditionaly on bootup - and if the machine
> does not expose the MCE capability this scary message shows up.
> 
> It is not needed as one can get that information from:
> 
>  1) Observing there are no /dev/mcelog
>  2) Running with 'initcall_debug' to see what the return code was
>     -EIO, -ENOMEM, -EBUSY
> 
> CC: Borislav Petkov <[email protected]>
> Cc: Andy Lutomirski <[email protected]>
> Cc: H. Peter Anvin <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> CC: Ingo Molnar <[email protected]>
> Reported-by: Marek Marczykowski-Górecki <[email protected]>
> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
> ---
>  arch/x86/kernel/cpu/mcheck/mce.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c 
> b/arch/x86/kernel/cpu/mcheck/mce.c
> index a006f4c..1c0132f 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -2525,8 +2525,6 @@ err_out_mem:
>       free_cpumask_var(mce_device_initialized);
>  
>  err_out:
> -     pr_err("Unable to init device /dev/mcelog (rc: %d)\n", err);
> -
>       return err;
>  }

So the message is useful if it was not initialized for some anomalous reason.

What we want instead is to handle this case differently:

        if (!mce_available(&boot_cpu_data)) {
                err = -EIO;
                goto err_out;
        }

and not print a warning in that case, i.e. do:

        if (!mce_available(&boot_cpu_data))
                return -EIO;

Thanks,

        Ingo

Reply via email to