提交 d57e2c07 编写于 作者: J jing zhang 提交者: 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: NJing Zhang <zj.barak@gmail.com>
Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册