From patchwork Wed Dec 2 12:04:05 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [07/41] virtio-pci: Remove duplicate test From: Juan Quintela X-Patchwork-Id: 40011 Message-Id: To: qemu-devel@nongnu.org Cc: mst@redhat.com Date: Wed, 2 Dec 2009 13:04:05 +0100 We already do the test for msix on the caller, just use that test Signed-off-by: Juan Quintela --- hw/msix.c | 8 -------- hw/virtio-pci.c | 7 ++++--- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/hw/msix.c b/hw/msix.c index 4bc6147..8dca9fd 100644 --- a/hw/msix.c +++ b/hw/msix.c @@ -295,10 +295,6 @@ void msix_save(PCIDevice *dev, QEMUFile *f) { unsigned n = dev->msix_entries_nr; - if (!(dev->cap_present & QEMU_PCI_CAP_MSIX)) { - return; - } - qemu_put_buffer(f, dev->msix_table_page, n * MSIX_ENTRY_SIZE); qemu_put_buffer(f, dev->msix_table_page + MSIX_PAGE_PENDING, (n + 7) / 8); } @@ -308,10 +304,6 @@ void msix_load(PCIDevice *dev, QEMUFile *f) { unsigned n = dev->msix_entries_nr; - if (!(dev->cap_present & QEMU_PCI_CAP_MSIX)) { - return; - } - msix_free_irq_entries(dev); qemu_get_buffer(f, dev->msix_table_page, n * MSIX_ENTRY_SIZE); qemu_get_buffer(f, dev->msix_table_page + MSIX_PAGE_PENDING, (n + 7) / 8); diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index d222ce0..25b6380 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -109,9 +109,10 @@ static void virtio_pci_save_config(void * opaque, QEMUFile *f) { VirtIOPCIProxy *proxy = opaque; pci_device_save(&proxy->pci_dev, f); - msix_save(&proxy->pci_dev, f); - if (msix_present(&proxy->pci_dev)) + if (msix_present(&proxy->pci_dev)) { + msix_save(&proxy->pci_dev, f); qemu_put_be16(f, proxy->vdev->config_vector); + } } static void virtio_pci_save_queue(void * opaque, int n, QEMUFile *f) @@ -129,8 +130,8 @@ static int virtio_pci_load_config(void * opaque, QEMUFile *f) if (ret) { return ret; } - msix_load(&proxy->pci_dev, f); if (msix_present(&proxy->pci_dev)) { + msix_load(&proxy->pci_dev, f); qemu_get_be16s(f, &proxy->vdev->config_vector); } else { proxy->vdev->config_vector = VIRTIO_NO_VECTOR;