]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Drivers: hv: vmbus: remove hv_synic_free_cpu() call from hv_synic_cleanup()
authorVitaly Kuznetsov <vkuznets@redhat.com>
Sat, 1 Aug 2015 23:08:05 +0000 (16:08 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 26 Feb 2016 02:28:57 +0000 (18:28 -0800)
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 <vkuznets@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 06210b42f33ea1c29a90f4db2d88be91c511154b)

Orabug: 21886720
Signed-off-by: Jason Luo <zhangqing.luo@oracle.com>
drivers/hv/hv.c
drivers/hv/vmbus_drv.c

index d3943bceecc367c7b5241de3ba7933aae45f41c4..5b870424b502fe710d2bae1ea1c16c3c993e3a28 100644 (file)
@@ -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);
 }
index 8e3e9d5a352ac82f4e8f04eeac19ad1e367b1b10..f198bf9810a175b2d8f2dcc8c141e32fdd34a425 100644 (file)
@@ -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);
 }