linux/arch/x86
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
..
boot x86 setup: set %ebx == %ebp == %edi == 0 on protected mode entry 2007-11-04 19:48:04 -08:00
configs x86 gart: rename CONFIG_IOMMU to CONFIG_GART_IOMMU 2007-10-30 00:22:22 +01:00
crypto x86: merge arch/x86/crypto Makefiles 2007-10-23 22:37:23 +02:00
ia32 x86 - 32-bit ptrace emulation mishandles 6th arg 2007-11-10 04:30:36 +01:00
kernel x86: don't call mce_create_device on CPU_UP_PREPARE 2007-11-14 18:45:44 -08:00
lguest lguest: tidy up documentation 2007-11-05 21:55:57 +11:00
lib x86: disable preemption in delay_tsc() 2007-11-14 18:45:44 -08:00
mach-default spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
mach-es7000 i386: es7000 minor cleanups 2007-10-17 20:16:15 +02:00
mach-generic spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
mach-visws [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
mach-voyager x86: voyager: fix bogus conversion to per_cpu for boot_cpu_info 2007-10-27 20:57:43 +02:00
math-emu kbuild: fix up CFLAGS usage 2007-10-14 21:49:42 +02:00
mm Merge branch 'v2.6.24-rc1-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep 2007-11-03 12:42:52 -07:00
oprofile x86: add instrumentation menu 2007-10-23 22:37:22 +02:00
pci spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
power i386: move power 2007-10-11 11:16:34 +02:00
vdso x86: vdso linker script cleanup 2007-10-17 20:17:06 +02:00
video i386: move video 2007-10-11 11:16:56 +02:00
xen [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate 2007-10-23 19:53:17 -04:00
Kconfig.cpu x86: move i386 and x86_64 Kconfig files to x86 directory 2007-10-25 22:37:02 +02:00
Kconfig.debug remove the dead X86_REMOTE_DEBUG option 2007-10-30 00:22:22 +01:00
Kconfig.i386 x86: move i386 and x86_64 Kconfig files to x86 directory 2007-10-25 22:37:02 +02:00
Kconfig.x86_64 Remove bogus default y for DMAR and NET_DMA 2007-10-30 08:06:55 -07:00
Makefile x86: move defconfig files for i386 and x86_64 to x86 2007-10-25 22:27:41 +02:00
Makefile_32 x86: move i386 and x86_64 Makefiles to arch/x86 2007-10-25 22:27:34 +02:00
Makefile_32.cpu x86: move i386 and x86_64 Makefiles to arch/x86 2007-10-25 22:27:34 +02:00
Makefile_64 x86: move i386 and x86_64 Makefiles to arch/x86 2007-10-25 22:27:34 +02:00