summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2017-11-14 06:53:33 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-11-28 16:56:26 +0100
commit7fa32e5ec28b1609abc0b797b58267f725fc3964 (patch)
tree71055aa21cc5ab790e6386adac62e9a60af93348 /include
parentfb2c445277e7b0b4ffe10de8114bad4eccaca948 (diff)
downloadlwn-7fa32e5ec28b1609abc0b797b58267f725fc3964.tar.gz
lwn-7fa32e5ec28b1609abc0b797b58267f725fc3964.zip
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')
-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;