summaryrefslogtreecommitdiff
path: root/include/linux/hyperv.h
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2017-11-14 16:53:33 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-11-28 18:56:26 +0300
commit7fa32e5ec28b1609abc0b797b58267f725fc3964 (patch)
tree71055aa21cc5ab790e6386adac62e9a60af93348 /include/linux/hyperv.h
parentfb2c445277e7b0b4ffe10de8114bad4eccaca948 (diff)
downloadlinux-7fa32e5ec28b1609abc0b797b58267f725fc3964.tar.xz
Drivers: hv: vmbus: Fix a rescind issue
The current rescind processing code will not correctly handle the case where the host immediately rescinds a channel that has been offerred. In this case, we could be blocked in the open call and since the channel is rescinded, the host will not respond and we could be blocked forever in the vmbus open call.i Fix this problem. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/hyperv.h')
-rw-r--r--include/linux/hyperv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index f3e97c5f94c9..6c9336626592 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -708,6 +708,7 @@ struct vmbus_channel {
u8 monitor_bit;
bool rescind; /* got rescind msg */
+ struct completion rescind_event;
u32 ringbuffer_gpadlhandle;