Skip to content
  • Alon Levy's avatar
    virtio-serial-bus: post_load send_event when vm is running · 80dcfb85
    Alon Levy authored
    
    
    Alexander Larsson found irq injection to Windows guests stopped after a
    migration.  The symptom was the mouse stopped working.
    
    Reproduction steps are:
    1. On src, start qemu with a virtio-serial port without any backend
    2. On dest, start qemu with a virtio-serial port with a backend
    3. Migrate.
    
    Upon migration, the older code detected the change in backend connection
    status, and sent a notification to the guest.  However, it's not
    guaranteed that the apic is ready to inject irqs into the guest, and the
    irq line remained high, resulting in any future interrupts going
    unnoticed by the guest as well.
    
    Add a new timer based on vm_clock for 1 ns in the future from post_load
    to do the event send in case host_connected differs between migration
    source and target.
    
    RHBZ: 867366
    
    Signed-off-by: default avatarAlon Levy <alevy@redhat.com>
    Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Amit Shah <amit.shah@redhat.com> # verbose commit log
    80dcfb85