The PCI legacy IRQ line is level triggered, but is treated as edge triggered via kvm__irq_trigger() for signalling of config changes. Fix this by using kvm__irq_level(), as for queue signalling. Signed-off-by: Keir Fraser <keirf@xxxxxxxxxx> --- virtio/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virtio/pci.c b/virtio/pci.c index 701f456..7a206be 100644 --- a/virtio/pci.c +++ b/virtio/pci.c @@ -264,7 +264,7 @@ int virtio_pci__signal_config(struct kvm *kvm, struct virtio_device *vdev) kvm__irq_trigger(kvm, vpci->config_gsi); } else { vpci->isr = VIRTIO_PCI_ISR_CONFIG; - kvm__irq_trigger(kvm, vpci->legacy_irq_line); + kvm__irq_line(kvm, vpci->legacy_irq_line, VIRTIO_IRQ_HIGH); } return 0; -- 2.42.0.283.g2d96d420d3-goog