From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40320) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTXnv-0000X5-NQ for qemu-devel@nongnu.org; Wed, 31 Oct 2012 08:53:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TTXnp-0000Ha-VT for qemu-devel@nongnu.org; Wed, 31 Oct 2012 08:53:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45033) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTXnp-0000Eg-N9 for qemu-devel@nongnu.org; Wed, 31 Oct 2012 08:53:49 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q9VCrmEZ001083 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 31 Oct 2012 08:53:48 -0400 From: Alon Levy Date: Wed, 31 Oct 2012 08:53:43 -0400 Message-Id: <1351688023-18991-1-git-send-email-alevy@redhat.com> Subject: [Qemu-devel] [RFC] hw/qxl: inject interrupts in any state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, kraxel@redhat.com I cannot find a reason we asserted that injecting interrupts happen only when the vm is running. This is right now the cause of spice crashing due to the new interface_client_set_capabilities being called when the vm is stopped, this happens if a user stops the vm or the vm reboots and a spice connection is dropped / created meanwhile. Sending as RFC since I'm not sure what the original reason for the assert is, git history is no help, it's in the first commit. RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=870972 Signed-off-by: Alon Levy --- hw/qxl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/qxl.c b/hw/qxl.c index 7b88a1e..ea92f83 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1739,7 +1739,6 @@ static void qxl_send_events(PCIQXLDevice *d, uint32_t events) uint32_t le_events = cpu_to_le32(events); trace_qxl_send_events(d->id, events); - assert(qemu_spice_display_is_running(&d->ssd)); old_pending = __sync_fetch_and_or(&d->ram->int_pending, le_events); if ((old_pending & le_events) == le_events) { return; -- 1.7.12.1