Fix a regression where hv_root_crash_init() fails a hypercall because
the hypercall page is not fully setup. The regression is caused by
following commit:

commit c8ed0812646e ("x86/hyperv: Use direct call to hypercall-page")

Fix is simple, just move the crash init call after the hypercall
page setup.

Signed-off-by: Mukesh R <[email protected]>
---
 arch/x86/hyperv/hv_init.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 14de43f4bc6c..7f3301bd081e 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -558,7 +558,6 @@ void __init hyperv_init(void)
                memunmap(src);
 
                hv_remap_tsc_clocksource();
-               hv_root_crash_init();
                hv_sleep_notifiers_register();
        } else {
                hypercall_msr.guest_physical_address = 
vmalloc_to_pfn(hv_hypercall_pg);
@@ -567,6 +566,9 @@ void __init hyperv_init(void)
 
        hv_set_hypercall_pg(hv_hypercall_pg);
 
+       if (hv_root_partition())        /* after set hypercall pg */
+               hv_root_crash_init();
+
 skip_hypercall_pg_init:
        /*
         * hyperv_init() is called before LAPIC is initialized: see
-- 
2.51.2.vfs.0.1


Reply via email to