diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 4c718f8adc59..a554f19c9973 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -969,7 +969,7 @@ void amd_e400_c1e_apic_setup(void) void __init arch_post_acpi_subsys_init(void) { - u32 lo, hi; + u64 val; if (!boot_cpu_has_bug(X86_BUG_AMD_E400)) return; @@ -979,8 +979,8 @@ void __init arch_post_acpi_subsys_init(void) * the machine is affected K8_INTP_C1E_ACTIVE_MASK bits are set in * MSR_K8_INT_PENDING_MSG. */ - rdmsr(MSR_K8_INT_PENDING_MSG, lo, hi); - if (!(lo & K8_INTP_C1E_ACTIVE_MASK)) + rdmsrq(MSR_K8_INT_PENDING_MSG, val); + if (!(val & K8_INTP_C1E_ACTIVE_MASK)) return; boot_cpu_set_bug(X86_BUG_AMD_APIC_C1E);