diff options
author | Vitaly Kuznetsov <vkuznets@redhat.com> | 2015-08-01 16:08:19 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-08-04 22:29:45 -0700 |
commit | 4a54243fc08f0edda1303bb666f0da68c378c036 (patch) | |
tree | d150cafb183ae3bfb01421763839e7f7291e72c8 /drivers/hv/channel_mgmt.c | |
parent | e26009aad095feae45a6e79bb022c55a969ecded (diff) | |
download | linux-4a54243fc08f0edda1303bb666f0da68c378c036.tar.gz linux-4a54243fc08f0edda1303bb666f0da68c378c036.tar.bz2 linux-4a54243fc08f0edda1303bb666f0da68c378c036.zip |
Drivers: hv: vmbus: don't send CHANNELMSG_UNLOAD on pre-Win2012R2 hosts
Pre-Win2012R2 hosts don't properly handle CHANNELMSG_UNLOAD and
wait_for_completion() hangs. Avoid sending such request on old hosts.
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>
Diffstat (limited to 'drivers/hv/channel_mgmt.c')
-rw-r--r-- | drivers/hv/channel_mgmt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c index 4506a6623618..00ba3f36f193 100644 --- a/drivers/hv/channel_mgmt.c +++ b/drivers/hv/channel_mgmt.c @@ -469,6 +469,10 @@ void vmbus_initiate_unload(void) { struct vmbus_channel_message_header hdr; + /* Pre-Win2012R2 hosts don't support reconnect */ + if (vmbus_proto_version < VERSION_WIN8_1) + return; + init_completion(&vmbus_connection.unload_event); memset(&hdr, 0, sizeof(struct vmbus_channel_message_header)); hdr.msgtype = CHANNELMSG_UNLOAD; |