aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/kvm/svm.c3
-rw-r--r--drivers/kvm/vmx.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
index 714f6a7841cd..7397bfbbcb1c 100644
--- a/drivers/kvm/svm.c
+++ b/drivers/kvm/svm.c
@@ -1407,7 +1407,8 @@ static int svm_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
1407 int r; 1407 int r;
1408 1408
1409again: 1409again:
1410 do_interrupt_requests(vcpu, kvm_run); 1410 if (!vcpu->mmio_read_completed)
1411 do_interrupt_requests(vcpu, kvm_run);
1411 1412
1412 clgi(); 1413 clgi();
1413 1414
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index 0aa2659f6ae5..27f2751c3baa 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -1717,7 +1717,8 @@ again:
1717 vmcs_writel(HOST_GS_BASE, segment_base(gs_sel)); 1717 vmcs_writel(HOST_GS_BASE, segment_base(gs_sel));
1718#endif 1718#endif
1719 1719
1720 do_interrupt_requests(vcpu, kvm_run); 1720 if (!vcpu->mmio_read_completed)
1721 do_interrupt_requests(vcpu, kvm_run);
1721 1722
1722 if (vcpu->guest_debug.enabled) 1723 if (vcpu->guest_debug.enabled)
1723 kvm_guest_debug_pre(vcpu); 1724 kvm_guest_debug_pre(vcpu);