x86 microcode: revert some work_on_cpu
authorHugh Dickins <hugh@veritas.com>
Tue, 14 Apr 2009 18:25:42 +0000 (19:25 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2009 18:45:59 +0000 (11:45 -0700)
commit6f66cbc63081fd70e3191b4dbb796746780e5ae1
tree007796d19e7b3816f03d690277b45adee5b13c22
parent610f26e75176aeb896618c26b16cbc0601f0e3cf
x86 microcode: revert some work_on_cpu

Revert part of af5c820a3169e81af869c113e18ec7588836cd50 ("x86: cpumask:
use work_on_cpu in arch/x86/kernel/microcode_core.c")

That change is causing only one Intel CPU's microcode to be updated e.g.
microcode: CPU3 updated from revision 0x9 to 0x17, date = 2005-04-22
where before it announced that also for CPU0 and CPU1 and CPU2.

We cannot use work_on_cpu() in the CONFIG_MICROCODE_OLD_INTERFACE code,
because Intel's request_microcode_user() involves a copy_from_user() from
/sbin/microcode_ctl, which therefore needs to be on that CPU at the time.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/kernel/microcode_core.c