summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/microcode/amd_early.c
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2014-12-01 11:12:21 +0100
committerThomas Gleixner <tglx@linutronix.de>2014-12-01 11:51:05 +0100
commit2ef84b3bb97f03332f0c1edb4466b1750dcf97b5 (patch)
treead10420bec232c18c734b9100984794844574b15 /arch/x86/kernel/cpu/microcode/amd_early.c
parent009d0431c3914de64666bec0d350e54fdd59df6a (diff)
x86, microcode, AMD: Do not use smp_processor_id() in preemtible context
Hand down the cpu number instead, otherwise lockdep screams when doing echo 1 > /sys/devices/system/cpu/microcode/reload. BUG: using smp_processor_id() in preemptible [00000000] code: amd64-microcode/2470 caller is debug_smp_processor_id+0x12/0x20 CPU: 1 PID: 2470 Comm: amd64-microcode Not tainted 3.18.0-rc6+ #26 ... Signed-off-by: Borislav Petkov <bp@suse.de> Link: http://lkml.kernel.org/r/1417428741-4501-1-git-send-email-bp@alien8.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/cpu/microcode/amd_early.c')
-rw-r--r--arch/x86/kernel/cpu/microcode/amd_early.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/microcode/amd_early.c b/arch/x86/kernel/cpu/microcode/amd_early.c
index 06674473b0e..3d988a30a21 100644
--- a/arch/x86/kernel/cpu/microcode/amd_early.c
+++ b/arch/x86/kernel/cpu/microcode/amd_early.c
@@ -389,7 +389,7 @@ int __init save_microcode_in_initrd_amd(void)
eax = cpuid_eax(0x00000001);
eax = ((eax >> 8) & 0xf) + ((eax >> 20) & 0xff);
- ret = load_microcode_amd(eax, container, container_size);
+ ret = load_microcode_amd(smp_processor_id(), eax, container, container_size);
if (ret != UCODE_OK)
retval = -EINVAL;