1
linux/arch/x86/kernel/cpu/mcheck
Andreas Herrmann bae19fe033 x86: don't call mce_create_device on CPU_UP_PREPARE
Fix regression introduced with d435d862ba
("cpu hotplug: mce: fix cpu hotplug error handling").

A CPU which was not brought up during boot (using maxcpus and
additional_cpus parameters) couldn't be onlined anymore.  For such a CPU it
seemed that MCE was not supported during CPU_UP_PREPARE-time which caused
mce_cpu_callback to return NOTIFY_BAD to notifier_call_chain.  To fix this
we:

 - call mce_create_device for CPU_ONLINE event (instead of CPU_UP_PREPARE),
 - avoid mce_remove_device() for the CPU that is not correctly initialized
   by mce_create_device() failure,
 - make mce_cpu_callback always return NOTIFY_OK for CPU_ONLINE event.
   Because CPU_ONLINE callback return value is always ignored.

[akinobu.mita@gmail.com: avoid mce_remove_device() for not initialized device]
[akinobu.mita@gmail.com: make mce_cpu_callback always return NOTIFY_OK]
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-14 18:45:44 -08:00
..
k7.c i386: move kernel/cpu/mcheck 2007-10-11 11:16:25 +02:00
Makefile x86: consolidate the cpu/ related code usage 2007-10-23 22:37:23 +02:00
mce_32.c x86: prepare consolidation of cpu/ related code usage 2007-10-23 22:37:23 +02:00
mce_64.c x86: don't call mce_create_device on CPU_UP_PREPARE 2007-11-14 18:45:44 -08:00
mce_amd_64.c x86: consolidate the cpu/ related code usage 2007-10-23 22:37:23 +02:00
mce_intel_64.c x86: consolidate the cpu/ related code usage 2007-10-23 22:37:23 +02:00
mce.h i386: move kernel/cpu/mcheck 2007-10-11 11:16:25 +02:00
non-fatal.c i386: move kernel/cpu/mcheck 2007-10-11 11:16:25 +02:00
p4.c x86: expand /proc/interrupts to include missing vectors, v2 2007-10-17 20:16:53 +02:00
p5.c i386: move kernel/cpu/mcheck 2007-10-11 11:16:25 +02:00
p6.c i386: move kernel/cpu/mcheck 2007-10-11 11:16:25 +02:00
therm_throt.c cpu hotplug: thermal_throttle: fix cpu hotplug error handling 2007-10-18 14:37:21 -07:00
winchip.c i386: move kernel/cpu/mcheck 2007-10-11 11:16:25 +02:00