x86/ucode: fix Intel case of resume handling on boot CPU
authorJan Beulich <jbeulich@suse.com>
Fri, 28 Sep 2012 07:28:11 +0000 (09:28 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 28 Sep 2012 07:28:11 +0000 (09:28 +0200)
Checking the stored version doesn't tell us anything about the need to
apply the update (during resume, what is stored doesn't necessarily
match what is loaded).

Note that the check can be removed altogether because once switched to
use what was read from the CPU (uci->cpu_sig.rev, as used in the
subsequent pr_debug()), it would become redundant with the checks that
lead to microcode_update_match() returning the indication that an
update should be applied.

Note further that this was not an issue on APs since they start with
uci->mc.mc_intel being NULL.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Ben Guthro <ben@guthro.net>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/microcode_intel.c

index afaf61f4c589ea485a042144f5ee3560e9eac50d..b54cd714ab68d2ea89622e242eb26f6a4f2082a8 100644 (file)
@@ -261,8 +261,6 @@ static int get_matching_microcode(const void *mc, int cpu)
     }
     return 0;
  find:
-    if ( uci->mc.mc_intel && uci->mc.mc_intel->hdr.rev >= mc_header->rev )
-        return 0;
     pr_debug("microcode: CPU%d found a matching microcode update with"
              " version %#x (current=%#x)\n",
              cpu, mc_header->rev, uci->cpu_sig.rev);