]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/commitdiff
x86: mce: Remove the frozen cases in the hotplug code
authorThomas Gleixner <tglx@linutronix.de>
Thu, 19 Jul 2012 17:59:40 +0000 (13:59 -0400)
committerTony Luck <tony.luck@intel.com>
Fri, 3 Aug 2012 18:46:50 +0000 (11:46 -0700)
No point in having double cases if we can simply mask the FROZEN bit
out.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Chen Gong <gong.chen@linux.intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/x86/kernel/cpu/mcheck/mce.c

index bd3a5e850f4f7129a4baac31128405d7d12bcbc2..b4dde1527edddd15a012b6b624cc6c09834645f4 100644 (file)
@@ -2262,34 +2262,32 @@ mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
        unsigned int cpu = (unsigned long)hcpu;
        struct timer_list *t = &per_cpu(mce_timer, cpu);
 
-       switch (action) {
+       switch (action & ~CPU_TASKS_FROZEN) {
        case CPU_ONLINE:
-       case CPU_ONLINE_FROZEN:
                mce_device_create(cpu);
                if (threshold_cpu_callback)
                        threshold_cpu_callback(action, cpu);
                break;
        case CPU_DEAD:
-       case CPU_DEAD_FROZEN:
                if (threshold_cpu_callback)
                        threshold_cpu_callback(action, cpu);
                mce_device_remove(cpu);
                break;
        case CPU_DOWN_PREPARE:
-       case CPU_DOWN_PREPARE_FROZEN:
                del_timer_sync(t);
                smp_call_function_single(cpu, mce_disable_cpu, &action, 1);
                break;
        case CPU_DOWN_FAILED:
-       case CPU_DOWN_FAILED_FROZEN:
                smp_call_function_single(cpu, mce_reenable_cpu, &action, 1);
                mce_start_timer(cpu, t);
                break;
-       case CPU_POST_DEAD:
+       }
+
+       if (action == CPU_POST_DEAD) {
                /* intentionally ignoring frozen here */
                cmci_rediscover(cpu);
-               break;
        }
+
        return NOTIFY_OK;
 }