]> git.proxmox.com Git - qemu.git/commitdiff
qxl: upon reset, if spice worker is stopped, the command rings can be not empty
authorYonit Halperin <yhalperi@redhat.com>
Tue, 12 Jul 2011 08:51:58 +0000 (11:51 +0300)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 20 Jul 2011 08:08:53 +0000 (10:08 +0200)
Spice worker does no longer process commands when it is stopped.
Otherwise, it might crash during migration when attempting to process
commands while the guest is not completely loaded.

Cc: Alon Levy <alevy@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/qxl.c

index 0b9a4c71ec8bead3e559f2d6b0231152cdd7c354..a6fb7f0acb716e030b8825178e56a3fac0b26665 100644 (file)
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -656,8 +656,8 @@ static void qxl_reset_state(PCIQXLDevice *d)
     QXLRam *ram = d->ram;
     QXLRom *rom = d->rom;
 
-    assert(SPICE_RING_IS_EMPTY(&ram->cmd_ring));
-    assert(SPICE_RING_IS_EMPTY(&ram->cursor_ring));
+    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cmd_ring));
+    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cursor_ring));
     d->shadow_rom.update_id = cpu_to_le32(0);
     *rom = d->shadow_rom;
     qxl_rom_set_dirty(d);