lkml.org 
[lkml]   [2015]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/10] drivers/hv: cleanup synic msrs if vmbus connect failed
    Date
    From: Denis V. Lunev <den@openvz.org>

    Before vmbus_connect() synic is setup per vcpu - this means
    hypervisor receives writes at synic msr's and probably allocate
    hypervisor resources per synic setup.

    If vmbus_connect() failed for some reason it's neccessary to cleanup
    synic setup by call hv_synic_cleanup() at each vcpu to get a chance
    to free allocated resources by hypervisor per synic.

    This patch does appropriate cleanup in case of vmbus_connect() failure.

    Signed-off-by: Andrey Smetanin <asmetanin@virtuozzo.com>
    Signed-off-by: Denis V. Lunev <den@openvz.org>
    Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    CC: "K. Y. Srinivasan" <kys@microsoft.com>
    CC: Haiyang Zhang <haiyangz@microsoft.com>
    CC: Vitaly Kuznetsov <vkuznets@redhat.com>
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    ---
    drivers/hv/vmbus_drv.c | 4 +++-
    1 files changed, 3 insertions(+), 1 deletions(-)

    diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
    index f19b6f7..3297731 100644
    --- a/drivers/hv/vmbus_drv.c
    +++ b/drivers/hv/vmbus_drv.c
    @@ -867,7 +867,7 @@ static int vmbus_bus_init(int irq)
    on_each_cpu(hv_synic_init, NULL, 1);
    ret = vmbus_connect();
    if (ret)
    - goto err_alloc;
    + goto err_connect;

    if (vmbus_proto_version > VERSION_WIN7)
    cpu_hotplug_disable();
    @@ -885,6 +885,8 @@ static int vmbus_bus_init(int irq)

    return 0;

    +err_connect:
    + on_each_cpu(hv_synic_cleanup, NULL, 1);
    err_alloc:
    hv_synic_free();
    hv_remove_vmbus_irq();
    --
    1.7.4.1


    \
     
     \ /
      Last update: 2015-10-08 03:01    [W:4.065 / U:0.172 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site