diff options
Diffstat (limited to 'arch/x86/kvm/lapic.c')
| -rw-r--r-- | arch/x86/kvm/lapic.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index afcd30d44cbb..e3099c642fec 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -627,9 +627,11 @@ static inline bool pv_eoi_enabled(struct kvm_vcpu *vcpu)  static bool pv_eoi_get_pending(struct kvm_vcpu *vcpu)  {  	u8 val; -	if (pv_eoi_get_user(vcpu, &val) < 0) +	if (pv_eoi_get_user(vcpu, &val) < 0) {  		printk(KERN_WARNING "Can't read EOI MSR value: 0x%llx\n",  			   (unsigned long long)vcpu->arch.pv_eoi.msr_val); +		return false; +	}  	return val & 0x1;  } @@ -1046,11 +1048,8 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode,  						       apic->regs + APIC_TMR);  		} -		if (vcpu->arch.apicv_active) -			kvm_x86_ops->deliver_posted_interrupt(vcpu, vector); -		else { +		if (kvm_x86_ops->deliver_posted_interrupt(vcpu, vector)) {  			kvm_lapic_set_irr(vector, apic); -  			kvm_make_request(KVM_REQ_EVENT, vcpu);  			kvm_vcpu_kick(vcpu);  		}  |