local_irq_disable();
 }
 
+/*
+ * We need to flush the caches before going to sleep, lest we have
+ * dirty data in our caches when we come back up.
+ */
 void __noreturn mwait_play_dead(unsigned int eax_hint)
 {
        struct mwait_cpu_dead *md = this_cpu_ptr(&mwait_cpu_dead);
        }
 }
 
-/*
- * We need to flush the caches before going to sleep, lest we have
- * dirty data in our caches when we come back up.
- */
-static inline void mwait_play_dead_cpuid_hint(void)
-{
-       unsigned int eax, ebx, ecx, edx;
-       unsigned int highest_cstate = 0;
-       unsigned int highest_subcstate = 0;
-       int i;
-
-       if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
-           boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)
-               return;
-       if (!this_cpu_has(X86_FEATURE_MWAIT))
-               return;
-       if (!this_cpu_has(X86_FEATURE_CLFLUSH))
-               return;
-
-       eax = CPUID_LEAF_MWAIT;
-       ecx = 0;
-       native_cpuid(&eax, &ebx, &ecx, &edx);
-
-       /*
-        * eax will be 0 if EDX enumeration is not valid.
-        * Initialized below to cstate, sub_cstate value when EDX is valid.
-        */
-       if (!(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED)) {
-               eax = 0;
-       } else {
-               edx >>= MWAIT_SUBSTATE_SIZE;
-               for (i = 0; i < 7 && edx; i++, edx >>= MWAIT_SUBSTATE_SIZE) {
-                       if (edx & MWAIT_SUBSTATE_MASK) {
-                               highest_cstate = i;
-                               highest_subcstate = edx & MWAIT_SUBSTATE_MASK;
-                       }
-               }
-               eax = (highest_cstate << MWAIT_SUBSTATE_SIZE) |
-                       (highest_subcstate - 1);
-       }
-
-       mwait_play_dead(eax);
-}
-
 /*
  * Kick all "offline" CPUs out of mwait on kexec(). See comment in
  * mwait_play_dead().
        play_dead_common();
        tboot_shutdown(TB_SHUTDOWN_WFS);
 
-       mwait_play_dead_cpuid_hint();
-       if (cpuidle_play_dead())
-               hlt_play_dead();
+       /* Below returns only on error. */
+       cpuidle_play_dead();
+       hlt_play_dead();
 }
 
 #else /* ... !CONFIG_HOTPLUG_CPU */