KVM: cleanup the failure path of KVM_CREATE_IRQCHIP ioctrl
[pandora-kernel.git] / virt / kvm / ioapic.c
index f3d0693..3db15a8 100644 (file)
@@ -401,6 +401,17 @@ int kvm_ioapic_init(struct kvm *kvm)
        return ret;
 }
 
+void kvm_ioapic_destroy(struct kvm *kvm)
+{
+       struct kvm_ioapic *ioapic = kvm->arch.vioapic;
+
+       if (ioapic) {
+               kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS, &ioapic->dev);
+               kvm->arch.vioapic = NULL;
+               kfree(ioapic);
+       }
+}
+
 int kvm_get_ioapic(struct kvm *kvm, struct kvm_ioapic_state *state)
 {
        struct kvm_ioapic *ioapic = ioapic_irqchip(kvm);