From: Avi Kivity Date: Mon, 30 May 2011 12:23:57 +0000 (-0400) Subject: x86: Fix mwait_play_dead() faulting on mwait-incapable cpus X-Git-Tag: v3.0-rc2~25^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f3c125c7420c85eaff627145557e392a871922d;p=platform%2Fkernel%2Flinux-3.10.git x86: Fix mwait_play_dead() faulting on mwait-incapable cpus A logic error in mwait_play_dead() causes the kernel to use mwait even on cpus which don't support it, such as KVM virtual cpus. Introduced by: 349c004e3d31: x86: A fast way to check capabilities of the current cpu Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=36222 Reported-by: Török Edwin Signed-off-by: Avi Kivity Cc: Christoph Lameter Cc: Tejun Heo Link: http://lkml.kernel.org/r/1306758237-9327-1-git-send-email-avi@redhat.com Signed-off-by: Ingo Molnar --- diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index eefd967..33a0c11 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1332,7 +1332,7 @@ static inline void mwait_play_dead(void) void *mwait_ptr; struct cpuinfo_x86 *c = __this_cpu_ptr(&cpu_info); - if (!this_cpu_has(X86_FEATURE_MWAIT) && mwait_usable(c)) + if (!(this_cpu_has(X86_FEATURE_MWAIT) && mwait_usable(c))) return; if (!this_cpu_has(X86_FEATURE_CLFLSH)) return;