/* Did the boot loader setup the local APIC ? */
        if (!boot_cpu_has(X86_FEATURE_APIC)) {
+               /* Try force enabling, which registers the APIC address */
                if (apic_force_enable(lapic_addr))
                        return;
-       }
-       smp_found_config = 1;
-       if (of_property_read_bool(dn, "intel,virtual-wire-mode")) {
-               pr_info("Virtual Wire compatibility mode.\n");
-               pic_mode = 0;
        } else {
-               pr_info("IMCR and PIC compatibility mode.\n");
-               pic_mode = 1;
+               register_lapic_address(lapic_addr);
        }
-
-       register_lapic_address(lapic_addr);
+       smp_found_config = 1;
+       pic_mode = !of_property_read_bool(dn, "intel,virtual-wire-mode");
+       pr_info("%s compatibility mode.\n", pic_mode ? "IMCR and PIC" : "Virtual Wire");
 }
 
 #endif /* CONFIG_X86_LOCAL_APIC */