From: Vitaly Kuznetsov Date: Sat, 1 Aug 2015 23:08:05 +0000 (-0700) Subject: Drivers: hv: vmbus: remove hv_synic_free_cpu() call from hv_synic_cleanup() X-Git-Tag: v4.1.12-92~196^2~44 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=e5f2d42bbea4210f520ebb94df6d9b3b243c5955;p=users%2Fjedix%2Flinux-maple.git Drivers: hv: vmbus: remove hv_synic_free_cpu() call from hv_synic_cleanup() We already have hv_synic_free() which frees all per-cpu pages for all CPUs, let's remove the hv_synic_free_cpu() call from hv_synic_cleanup() so it will be possible to do separate cleanup (writing to MSRs) and final freeing. This is going to be used to assist kexec. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan Signed-off-by: Greg Kroah-Hartman (cherry picked from commit 06210b42f33ea1c29a90f4db2d88be91c511154b) Orabug: 21886720 Signed-off-by: Jason Luo --- diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index d3943bceecc36..5b870424b502f 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c @@ -530,6 +530,4 @@ void hv_synic_cleanup(void *arg) rdmsrl(HV_X64_MSR_SCONTROL, sctrl.as_uint64); sctrl.enable = 0; wrmsrl(HV_X64_MSR_SCONTROL, sctrl.as_uint64); - - hv_synic_free_cpu(cpu); } diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 8e3e9d5a352ac..f198bf9810a17 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -1106,6 +1106,7 @@ static void __exit vmbus_exit(void) tasklet_kill(hv_context.event_dpc[cpu]); smp_call_function_single(cpu, hv_synic_cleanup, NULL, 1); } + hv_synic_free(); acpi_bus_unregister_driver(&vmbus_acpi_driver); hv_cpu_hotplug_quirk(false); }