aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorK. Y. Srinivasan2013-07-02 10:31:30 -0700
committerGreg Kroah-Hartman2013-07-26 16:40:41 -0700
commit6741335bc7294548ac95cb1f4671991ff30da193 (patch)
treeb5930cd4e558ff76838966e8a23941352acf9a0e /include
parentd12e14692448e9f256028f53926a9bd3c3091e11 (diff)
Drivers: hv: util: Fix a bug in version negotiation code for util services
The current code picked the highest version advertised by the host. WS2012 R2 has implemented a protocol version for KVP that is not compatible with prior protocol versions of KVP. Fix the bug in the current code by explicitly specifying the protocol version that the guest can support. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/hyperv.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index fae8bac907ef..49949079cf47 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -27,6 +27,14 @@
#include <linux/types.h>
+/*
+ * Framework version for util services.
+ */
+
+#define UTIL_FW_MAJOR 3
+#define UTIL_FW_MINOR 0
+#define UTIL_FW_MAJOR_MINOR (UTIL_FW_MAJOR << 16 | UTIL_FW_MINOR)
+
/*
* Implementation of host controlled snapshot of the guest.
@@ -1494,7 +1502,7 @@ struct hyperv_service_callback {
};
#define MAX_SRV_VER 0x7ffffff
-extern void vmbus_prep_negotiate_resp(struct icmsg_hdr *,
+extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *,
struct icmsg_negotiate *, u8 *, int,
int);