فهرست منبع

KVM: Handle spurious acks for PIT interrupts

Spurious acks can be generated, for example if the PIC is being reset.
Handle those acks gracefully rather than flooding the log with warnings.

Signed-off-by: Avi Kivity <avi@qumranet.com>
Avi Kivity 17 سال پیش
والد
کامیت
dc7404cea3
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      arch/x86/kvm/i8254.c

+ 1 - 1
arch/x86/kvm/i8254.c

@@ -228,7 +228,7 @@ void kvm_pit_ack_irq(struct kvm_irq_ack_notifier *kian)
 						 irq_ack_notifier);
 						 irq_ack_notifier);
 	spin_lock(&ps->inject_lock);
 	spin_lock(&ps->inject_lock);
 	if (atomic_dec_return(&ps->pit_timer.pending) < 0)
 	if (atomic_dec_return(&ps->pit_timer.pending) < 0)
-		WARN_ON(1);
+		atomic_inc(&ps->pit_timer.pending);
 	ps->irq_ack = 1;
 	ps->irq_ack = 1;
 	spin_unlock(&ps->inject_lock);
 	spin_unlock(&ps->inject_lock);
 }
 }