Free IRQ's and disable MSIX upon failure.
Cc: Avi Kivity <avi@redhat.com>
Signed-off-by: Jing Zhang <zj.barak@gmail.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
                                kvm_assigned_dev_intr, 0,
                                "kvm_assigned_msix_device",
                                (void *)dev);
-               /* FIXME: free requested_irq's on failure */
                if (r)
-                       return r;
+                       goto err;
        }
 
        return 0;
+err:
+       for (i -= 1; i >= 0; i--)
+               free_irq(dev->host_msix_entries[i].vector, (void *)dev);
+       pci_disable_msix(dev->dev);
+       return r;
 }
 
 #endif