Commit d57e2c07 authored by jing zhang's avatar jing zhang Committed by Avi Kivity

KVM: fix assigned_device_enable_host_msix error handling

Free IRQ's and disable MSIX upon failure.

Cc: Avi Kivity <avi@redhat.com>
Signed-off-by: default avatarJing Zhang <zj.barak@gmail.com>
Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
parent a87fa355
...@@ -316,12 +316,16 @@ static int assigned_device_enable_host_msix(struct kvm *kvm, ...@@ -316,12 +316,16 @@ static int assigned_device_enable_host_msix(struct kvm *kvm,
kvm_assigned_dev_intr, 0, kvm_assigned_dev_intr, 0,
"kvm_assigned_msix_device", "kvm_assigned_msix_device",
(void *)dev); (void *)dev);
/* FIXME: free requested_irq's on failure */
if (r) if (r)
return r; goto err;
} }
return 0; 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 #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment