OSDN Git Service

qxl: clear irq on reset
authorAlon Levy <alevy@redhat.com>
Mon, 20 Jan 2014 10:44:19 +0000 (12:44 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 3 Feb 2014 10:05:15 +0000 (11:05 +0100)
Without this we occasionally trigger an assert at
hw/pci/pci.c:pcibus_reset that asserts the irq_count is zero on reset.

This has become a problem with the new drm driver for linux, since doing
a reboot from console causes a race between console updates that set the
irq and the reset assertion that the irq is clear.

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

index e4f172e..56b61c8 100644 (file)
@@ -1126,6 +1126,7 @@ static void qxl_reset_state(PCIQXLDevice *d)
     d->num_free_res = 0;
     d->last_release = NULL;
     memset(&d->ssd.dirty, 0, sizeof(d->ssd.dirty));
+    qxl_update_irq(d);
 }
 
 static void qxl_soft_reset(PCIQXLDevice *d)