aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/hyperv/hv_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/hyperv/hv_init.c')
-rw-r--r--arch/x86/hyperv/hv_init.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 7f2eed1fc81b..6461a16b4559 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -407,6 +407,13 @@ void hyperv_cleanup(void)
407 /* Reset our OS id */ 407 /* Reset our OS id */
408 wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0); 408 wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
409 409
410 /*
411 * Reset hypercall page reference before reset the page,
412 * let hypercall operations fail safely rather than
413 * panic the kernel for using invalid hypercall page
414 */
415 hv_hypercall_pg = NULL;
416
410 /* Reset the hypercall page */ 417 /* Reset the hypercall page */
411 hypercall_msr.as_uint64 = 0; 418 hypercall_msr.as_uint64 = 0;
412 wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); 419 wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);