diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 2d7df5cc955bfb7c4120734bb642bf0af3a6a198..9deb5a245b83032ffaa960d42cd6f01ecb614b1b 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2187,7 +2187,7 @@ bool kvm_vcpu_wake_up(struct kvm_vcpu *vcpu)
 	struct swait_queue_head *wqp;
 
 	wqp = kvm_arch_vcpu_wq(vcpu);
-	if (swait_active(wqp)) {
+	if (swq_has_sleeper(wqp)) {
 		swake_up(wqp);
 		++vcpu->stat.halt_wakeup;
 		return true;