diff --git a/[refs] b/[refs] index e490f4ef28c6..8676000cf815 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 084384754ebe6636f9e5554ad30b3143b4a26c84 +refs/heads/master: cccf748b810832cfab4dbb3ed4c7cf1a1ee35ad2 diff --git a/trunk/drivers/kvm/svm.c b/trunk/drivers/kvm/svm.c index 714f6a7841cd..7397bfbbcb1c 100644 --- a/trunk/drivers/kvm/svm.c +++ b/trunk/drivers/kvm/svm.c @@ -1407,7 +1407,8 @@ static int svm_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) int r; again: - do_interrupt_requests(vcpu, kvm_run); + if (!vcpu->mmio_read_completed) + do_interrupt_requests(vcpu, kvm_run); clgi(); diff --git a/trunk/drivers/kvm/vmx.c b/trunk/drivers/kvm/vmx.c index 0aa2659f6ae5..27f2751c3baa 100644 --- a/trunk/drivers/kvm/vmx.c +++ b/trunk/drivers/kvm/vmx.c @@ -1717,7 +1717,8 @@ static int vmx_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) vmcs_writel(HOST_GS_BASE, segment_base(gs_sel)); #endif - do_interrupt_requests(vcpu, kvm_run); + if (!vcpu->mmio_read_completed) + do_interrupt_requests(vcpu, kvm_run); if (vcpu->guest_debug.enabled) kvm_guest_debug_pre(vcpu);