diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2017-08-11 20:03:59 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-10-21 18:55:06 +0300 |
commit | 6b32d45bd59982751beb8220e442b40b2706647f (patch) | |
tree | c2c5ba2f4185bc236e57ce00fca4ee7258600c58 /include/linux | |
parent | 53d1c2535ce014ceea27c5c34739e32dec2cc6d9 (diff) | |
download | linux-6b32d45bd59982751beb8220e442b40b2706647f.tar.xz |
Drivers: hv: vmbus: Fix rescind handling issues
commit 6f3d791f300618caf82a2be0c27456edd76d5164 upstream.
This patch handles the following issues that were observed when we are
handling racing channel offer message and rescind message for the same
offer:
1. Since the host does not respond to messages on a rescinded channel,
in the current code, we could be indefinitely blocked on the vmbus_open() call.
2. When a rescinded channel is being closed, if there is a pending interrupt on the
channel, we could end up freeing the channel that the interrupt handler would run on.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Tested-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/hyperv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index b7d7bbec74e0..fa9fea5765a7 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h @@ -895,6 +895,8 @@ struct vmbus_channel { */ enum hv_numa_policy affinity_policy; + bool probe_done; + }; static inline bool is_hvsock_channel(const struct vmbus_channel *c) |