diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 13:25:10 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 13:25:10 -0800 | 
| commit | 343036cea2854acf8d4b4c930c0063223bc6b8a2 (patch) | |
| tree | 8d4f5ea0ce3cb74ab6051c89ac20606b74d17e42 /arch/x86/kernel/microcode_core.c | |
| parent | 4d2a914239eee6fcddd12a7c9c32e135dde8f3f1 (diff) | |
| parent | 8cc2361bd00e87aab2827a3996a71fe9b2c9f9c4 (diff) | |
| download | olio-linux-3.10-343036cea2854acf8d4b4c930c0063223bc6b8a2.tar.xz olio-linux-3.10-343036cea2854acf8d4b4c930c0063223bc6b8a2.zip  | |
Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: ucode-amd: Move family check to microcde_amd.c's init function
  x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle
  x86: ucode-amd: Convert printk(KERN_*...) to pr_*(...)
  x86: ucode-amd: Don't warn when no ucode is available for a CPU revision
  x86: ucode-amd: Load ucode-patches once and not separately of each CPU
  x86, amd-ucode: Remove needless log messages
Diffstat (limited to 'arch/x86/kernel/microcode_core.c')
| -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 2bcad3926ed..e68aae39786 100644 --- a/arch/x86/kernel/microcode_core.c +++ b/arch/x86/kernel/microcode_core.c @@ -391,7 +391,7 @@ static enum ucode_state microcode_update_cpu(int cpu)  	struct ucode_cpu_info *uci = ucode_cpu_info + cpu;  	enum ucode_state ustate; -	if (uci->valid) +	if (uci->valid && uci->mc)  		ustate = microcode_resume_cpu(cpu);  	else  		ustate = microcode_init_cpu(cpu); @@ -518,6 +518,9 @@ static int __init microcode_init(void)  		return PTR_ERR(microcode_pdev);  	} +	if (microcode_ops->init) +		microcode_ops->init(µcode_pdev->dev); +  	get_online_cpus();  	mutex_lock(µcode_mutex); @@ -561,6 +564,9 @@ static void __exit microcode_exit(void)  	platform_device_unregister(microcode_pdev); +	if (microcode_ops->fini) +		microcode_ops->fini(); +  	microcode_ops = NULL;  	pr_info("Microcode Update Driver: v" MICROCODE_VERSION " removed.\n");  |