From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH stable-1.1] qemu-kvm: virtio: Do not register mask notifiers without in-kernel irqchip support Date: Mon, 02 Jul 2012 10:05:39 +0200 Message-ID: <4FF15653.7020506@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm , "Michael S. Tsirkin" , Michael Tokarev To: Avi Kivity , Marcelo Tosatti Return-path: Received: from david.siemens.de ([192.35.17.14]:16010 "EHLO david.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751206Ab2GBIGD (ORCPT ); Mon, 2 Jul 2012 04:06:03 -0400 Sender: kvm-owner@vger.kernel.org List-ID: We crash if we registers mask notifiers without backing in-kernel irqchip. This corresponds to the check in QEMU upstream after 1.1 now. Signed-off-by: Jan Kiszka --- Not needed for master as we have upstream logic there already. hw/virtio-pci.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index a0c2ca7..5b64356 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -629,7 +629,7 @@ static int virtio_pci_set_guest_notifiers(void *opaque, bool assign) /* Must unset mask notifier while guest notifier * is still assigned */ - if (!assign) { + if (kvm_irqchip_in_kernel() && !assign) { r = msix_unset_mask_notifier(&proxy->pci_dev); assert(r >= 0); } @@ -647,7 +647,7 @@ static int virtio_pci_set_guest_notifiers(void *opaque, bool assign) /* Must set mask notifier after guest notifier * has been assigned */ - if (assign) { + if (kvm_irqchip_in_kernel() && assign) { r = msix_set_mask_notifier(&proxy->pci_dev, virtio_pci_mask_notifier); if (r < 0) { -- 1.7.3.4