summary refs log tree commit diff stats
path: root/hw/display/qxl.c
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2014-01-20 12:44:19 +0200
committerGerd Hoffmann <kraxel@redhat.com>2014-02-03 11:05:15 +0100
commitf06b85218a41fd6f8e797a925f4ea75640b69c9e (patch)
tree3f0fddb1c127ed9031f52c3ec91b78f73cbe2c90 /hw/display/qxl.c
parent2f61120c10da9128357510debc8e66880cd2bfdc (diff)
downloadfocaccia-qemu-f06b85218a41fd6f8e797a925f4ea75640b69c9e.tar.gz
focaccia-qemu-f06b85218a41fd6f8e797a925f4ea75640b69c9e.zip
qxl: clear irq on reset
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>
Diffstat (limited to 'hw/display/qxl.c')
-rw-r--r--hw/display/qxl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index e4f172e3fb..56b61c8ad8 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -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)