diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index a5c107bbf022fd066a8842b7e31895ed8fd9d84a..3fe36251701c22fc36d03aa7d19607e720209120 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -3667,8 +3667,11 @@ static int kvm_ioctl_create_device(struct kvm *kvm, kvm_put_kvm_no_destroy(kvm); mutex_lock(&kvm->lock); list_del(&dev->vm_node); + if (ops->release) + ops->release(dev); mutex_unlock(&kvm->lock); - ops->destroy(dev); + if (ops->destroy) + ops->destroy(dev); return ret; }