|
@@ -356,7 +356,7 @@ static int ioapic_service(struct kvm_ioapic *ioapic, int irq, bool line_status)
|
|
BUG_ON(ioapic->rtc_status.pending_eoi != 0);
|
|
BUG_ON(ioapic->rtc_status.pending_eoi != 0);
|
|
ret = kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe,
|
|
ret = kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe,
|
|
ioapic->rtc_status.dest_map);
|
|
ioapic->rtc_status.dest_map);
|
|
- ioapic->rtc_status.pending_eoi = ret;
|
|
|
|
|
|
+ ioapic->rtc_status.pending_eoi = (ret < 0 ? 0 : ret);
|
|
} else
|
|
} else
|
|
ret = kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe, NULL);
|
|
ret = kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe, NULL);
|
|
|
|
|