]> Pileus Git - ~andy/linux/blobdiff - drivers/kvm/kvm_main.c
[PATCH] KVM: Recover after an arch module load failure
[~andy/linux] / drivers / kvm / kvm_main.c
index ce7fe640f18dfc29b909af99bc80ac6aac1a3290..b54caf0ceeb1305a2129177234a745cf079897a5 100644 (file)
@@ -1944,17 +1944,17 @@ int kvm_init_arch(struct kvm_arch_ops *ops, struct module *module)
                return -EEXIST;
        }
 
-       kvm_arch_ops = ops;
-
-       if (!kvm_arch_ops->cpu_has_kvm_support()) {
+       if (!ops->cpu_has_kvm_support()) {
                printk(KERN_ERR "kvm: no hardware support\n");
                return -EOPNOTSUPP;
        }
-       if (kvm_arch_ops->disabled_by_bios()) {
+       if (ops->disabled_by_bios()) {
                printk(KERN_ERR "kvm: disabled by bios\n");
                return -EOPNOTSUPP;
        }
 
+       kvm_arch_ops = ops;
+
        r = kvm_arch_ops->hardware_setup();
        if (r < 0)
            return r;