virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
[linux-2.6-block.git] / drivers / virtio / virtio_pci_common.c
index b655fccaf77330b08b23a57d7e2fe1d012409615..584af7816532b39d77a488befd94227b5626511f 100644 (file)
@@ -348,8 +348,10 @@ static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned int nvqs,
                                  vring_interrupt, 0,
                                  vp_dev->msix_names[msix_vec],
                                  vqs[i]);
-               if (err)
+               if (err) {
+                       vp_del_vq(vqs[i]);
                        goto error_find;
+               }
        }
        return 0;