aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv/connection.c
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2015-04-22 21:31:32 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-05-24 12:18:24 -0700
commit2db84eff127e3f4b3635edc589cd6a56db8755a3 (patch)
tree2890e6494ebeb52bfdbaa182a9e58d3f2734d57e /drivers/hv/connection.c
parentdrivers: hv: vmbus: Get rid of some unused definitions (diff)
downloadlinux-dev-2db84eff127e3f4b3635edc589cd6a56db8755a3.tar.xz
linux-dev-2db84eff127e3f4b3635edc589cd6a56db8755a3.zip
Drivers: hv: vmbus: Implement the protocol for tearing down vmbus state
Implement the protocol for tearing down the monitor state established with the host. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Tested-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/connection.c')
-rw-r--r--drivers/hv/connection.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index b27220a425f4..acd50e9d666a 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -227,6 +227,11 @@ cleanup:
void vmbus_disconnect(void)
{
+ /*
+ * First send the unload request to the host.
+ */
+ vmbus_initiate_unload();
+
if (vmbus_connection.work_queue) {
drain_workqueue(vmbus_connection.work_queue);
destroy_workqueue(vmbus_connection.work_queue);