Message ID | 20110207132729.GC14984@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c index 3cece05..62b1dde 100644 --- a/arch/x86/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c @@ -549,6 +549,9 @@ static void pic_irq_request(struct kvm *kvm, int level) struct kvm_pic *s = pic_irqchip(kvm); int irq = pic_get_irq(&s->pics[0]); + if (s->output && !level) + s->pics[0].isr_ack = 0xff; + s->output = level; if (vcpu && level && (s->pics[0].isr_ack & (1 << irq))) { s->pics[0].isr_ack &= ~(1 << irq);