> -----Original Message----- > From: Jiri Slaby [mailto:jslaby@xxxxxxx] > Sent: Tuesday, May 6, 2014 2:19 AM > To: stable@xxxxxxxxxxxxxxx > Cc: jslaby@xxxxxxx; KY Srinivasan; Greg Kroah-Hartman > Subject: [patch NOT added to the 3.12 stable tree] Drivers: hv: vmbus: > Negotiate version 3.0 when running on ws2012r2 hosts > > From: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> > > This patch does NOT apply to the 3.12 stable tree. If you still want it applied, > please provide a backport. Jiri, I have backported the patch and will be sending it soon. Thanks, K. Y > > =============== > > commit 03367ef5ea811475187a0732aada068919e14d61 upstream. > > Only ws2012r2 hosts support the ability to reconnect to the host on VMBUS. > This functionality is needed by kexec in Linux. To use this functionality we > need to negotiate version 3.0 of the VMBUS protocol. > > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> [3.9+] > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > drivers/hv/connection.c | 5 ++++- > include/linux/hyperv.h | 4 +++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c index > f2d7bf90c9fe..2e7801af466e 100644 > --- a/drivers/hv/connection.c > +++ b/drivers/hv/connection.c > @@ -55,6 +55,9 @@ static __u32 vmbus_get_next_version(__u32 > current_version) > case (VERSION_WIN8): > return VERSION_WIN7; > > + case (VERSION_WIN8_1): > + return VERSION_WIN8; > + > case (VERSION_WS2008): > default: > return VERSION_INVAL; > @@ -77,7 +80,7 @@ static int vmbus_negotiate_version(struct > vmbus_channel_msginfo *msginfo, > msg->interrupt_page = virt_to_phys(vmbus_connection.int_page); > msg->monitor_page1 = > virt_to_phys(vmbus_connection.monitor_pages[0]); > msg->monitor_page2 = > virt_to_phys(vmbus_connection.monitor_pages[1]); > - if (version == VERSION_WIN8) > + if (version == VERSION_WIN8_1) > msg->target_vcpu = > hv_context.vp_index[smp_processor_id()]; > > /* > diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index > ab7359fde987..2d7b4f139c32 100644 > --- a/include/linux/hyperv.h > +++ b/include/linux/hyperv.h > @@ -147,15 +147,17 @@ hv_get_ringbuffer_availbytes(struct > hv_ring_buffer_info *rbi, > * 0 . 13 (Windows Server 2008) > * 1 . 1 (Windows 7) > * 2 . 4 (Windows 8) > + * 3 . 0 (Windows 8 R2) > */ > > #define VERSION_WS2008 ((0 << 16) | (13)) > #define VERSION_WIN7 ((1 << 16) | (1)) > #define VERSION_WIN8 ((2 << 16) | (4)) > +#define VERSION_WIN8_1 ((3 << 16) | (0)) > > #define VERSION_INVAL -1 > > -#define VERSION_CURRENT VERSION_WIN8 > +#define VERSION_CURRENT VERSION_WIN8_1 > > /* Make maximum size of pipe payload of 16K */ > #define MAX_PIPE_DATA_PAYLOAD (sizeof(u8) * 16384) > -- > 1.9.2 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html