diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/microcode_core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kernel/microcode_core.c b/arch/x86/kernel/microcode_core.c index f9242800bc84..f2d2a664e797 100644 --- a/arch/x86/kernel/microcode_core.c +++ b/arch/x86/kernel/microcode_core.c | |||
@@ -483,7 +483,13 @@ mc_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) | |||
483 | sysfs_remove_group(&sys_dev->kobj, &mc_attr_group); | 483 | sysfs_remove_group(&sys_dev->kobj, &mc_attr_group); |
484 | pr_debug("CPU%d removed\n", cpu); | 484 | pr_debug("CPU%d removed\n", cpu); |
485 | break; | 485 | break; |
486 | case CPU_DEAD: | 486 | |
487 | /* | ||
488 | * When a CPU goes offline, don't free up or invalidate the copy of | ||
489 | * the microcode in kernel memory, so that we can reuse it when the | ||
490 | * CPU comes back online without unnecessarily requesting the userspace | ||
491 | * for it again. | ||
492 | */ | ||
487 | case CPU_UP_CANCELED_FROZEN: | 493 | case CPU_UP_CANCELED_FROZEN: |
488 | /* The CPU refused to come up during a system resume */ | 494 | /* The CPU refused to come up during a system resume */ |
489 | microcode_fini_cpu(cpu); | 495 | microcode_fini_cpu(cpu); |