]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/virtio/virtio_pci.c
qlcnic: Fix for flash update failure on 83xx adapter
[karo-tx-linux.git] / drivers / virtio / virtio_pci.c
index a7ce73029f5989de1cf3c53fc318bcfebfc99c87..1aba255b5879a10243c5426abba873103ff15696 100644 (file)
@@ -289,9 +289,9 @@ static void vp_free_vectors(struct virtio_device *vdev)
 
                pci_disable_msix(vp_dev->pci_dev);
                vp_dev->msix_enabled = 0;
-               vp_dev->msix_vectors = 0;
        }
 
+       vp_dev->msix_vectors = 0;
        vp_dev->msix_used_vectors = 0;
        kfree(vp_dev->msix_names);
        vp_dev->msix_names = NULL;
@@ -309,6 +309,8 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors,
        unsigned i, v;
        int err = -ENOMEM;
 
+       vp_dev->msix_vectors = nvectors;
+
        vp_dev->msix_entries = kmalloc(nvectors * sizeof *vp_dev->msix_entries,
                                       GFP_KERNEL);
        if (!vp_dev->msix_entries)
@@ -336,7 +338,6 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors,
                err = -ENOSPC;
        if (err)
                goto error;
-       vp_dev->msix_vectors = nvectors;
        vp_dev->msix_enabled = 1;
 
        /* Set the vector used for configuration */