|
@@ -465,6 +465,14 @@ static void mc_bp_resume(void)
|
|
|
|
|
|
if (uci->valid && uci->mc)
|
|
if (uci->valid && uci->mc)
|
|
microcode_ops->apply_microcode(cpu);
|
|
microcode_ops->apply_microcode(cpu);
|
|
|
|
+ else if (!uci->mc)
|
|
|
|
+ /*
|
|
|
|
+ * We might resume and not have applied late microcode but still
|
|
|
|
+ * have a newer patch stashed from the early loader. We don't
|
|
|
|
+ * have it in uci->mc so we have to load it the same way we're
|
|
|
|
+ * applying patches early on the APs.
|
|
|
|
+ */
|
|
|
|
+ load_ucode_ap();
|
|
}
|
|
}
|
|
|
|
|
|
static struct syscore_ops mc_syscore_ops = {
|
|
static struct syscore_ops mc_syscore_ops = {
|