x86/ucode: Only rescan features on successful microcode load

There's no point rescanning if we didn't load something new.  Take the
opportunity to make the comment a bit more concise.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Andrew Cooper committed 2024-11-21 20:12:47 +00:00
1 parent 365f408339
commit f52004b20e
1 file changed
+5 -13
+5 -13
View File
@@ -860,6 +860,10 @@ static int __init early_microcode_load(struct boot_info *bi)
rc = ucode_ops.apply_microcode(patch, 0);
if ( rc == 0 )
/* Rescan CPUID/MSR features, which may have changed after a load. */
early_cpu_init(false);
unmap:
bootstrap_unmap();
@@ -869,7 +873,6 @@ static int __init early_microcode_load(struct boot_info *bi)
int __init early_microcode_init(struct boot_info *bi)
{
const struct cpuinfo_x86 *c = &boot_cpu_data;
int rc = 0;
switch ( c->x86_vendor )
{
@@ -909,16 +912,5 @@ int __init early_microcode_init(struct boot_info *bi)
return -ENODEV;
}
rc = early_microcode_load(bi);
/*
* Some CPUID leaves and MSRs are only present after microcode updates
* on some processors. We take the chance here to make sure what little
* state we have already probed is re-probed in order to ensure we do
* not use stale values. tsx_init() in particular needs to have up to
* date MSR_ARCH_CAPS.
*/
early_cpu_init(false);
return rc;
return early_microcode_load(bi);
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.