From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH] pci-assign: Fix transition MSI->INTx Date: Tue, 04 Jan 2011 22:04:30 +0100 Message-ID: <4D238B5E.9010102@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: kvm To: Avi Kivity , Marcelo Tosatti Return-path: Received: from fmmailgate02.web.de ([217.72.192.227]:53933 "EHLO fmmailgate02.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751005Ab1ADVEd (ORCPT ); Tue, 4 Jan 2011 16:04:33 -0500 Sender: kvm-owner@vger.kernel.org List-ID: From: Jan Kiszka Make sure to re-register the IRQ of an assigned device as INTx when the guest disables MSI[X] mode again. Signed-off-by: Jan Kiszka --- hw/device-assignment.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/hw/device-assignment.c b/hw/device-assignment.c index f6410f8..fce7567 100644 --- a/hw/device-assignment.c +++ b/hw/device-assignment.c @@ -1192,7 +1192,10 @@ static void assigned_dev_update_msi(PCIDevice *pci_dev, unsigned int ctrl_pos) if (kvm_assign_irq(kvm_context, &assigned_irq_data) < 0) perror("assigned_dev_enable_msi: assign irq"); + assigned_dev->girq = -1; assigned_dev->irq_requested_type = assigned_irq_data.flags; + } else { + assign_irq(assigned_dev); } } #endif @@ -1332,7 +1335,10 @@ static void assigned_dev_update_msix(PCIDevice *pci_dev, unsigned int ctrl_pos) perror("assigned_dev_enable_msix: assign irq"); return; } + assigned_dev->girq = -1; assigned_dev->irq_requested_type = assigned_irq_data.flags; + } else { + assign_irq(assigned_dev); } } #endif -- 1.7.1