3.14-stable review patch.  If anyone has any objections, please let me know.

------------------

From: "K. Y. Srinivasan" <k...@microsoft.com>

commit adb6f9e1a8c6af1037232b59edb11277471537ea upstream.

Based on the negotiated VMBUS protocol version, we adjust the size of the 
storage
protocol messages. The two sizes we currently handle are pre-win8 and post-win8.
In WS2012 R2, we are negotiating higher VMBUS protocol version than the win8
version. Make adjustments to correctly handle this.

Signed-off-by: K. Y. Srinivasan <k...@microsoft.com>
Reviewed-by: Hannes Reinecke <h...@suse.de>
Signed-off-by: Christoph Hellwig <h...@lst.de>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/scsi/storvsc_drv.c |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1764,19 +1764,22 @@ static int storvsc_probe(struct hv_devic
         * set state to properly communicate with the host.
         */
 
-       if (vmbus_proto_version == VERSION_WIN8) {
-               sense_buffer_size = POST_WIN7_STORVSC_SENSE_BUFFER_SIZE;
-               vmscsi_size_delta = 0;
-               vmstor_current_major = VMSTOR_WIN8_MAJOR;
-               vmstor_current_minor = VMSTOR_WIN8_MINOR;
-       } else {
+       switch (vmbus_proto_version) {
+       case VERSION_WS2008:
+       case VERSION_WIN7:
                sense_buffer_size = PRE_WIN8_STORVSC_SENSE_BUFFER_SIZE;
                vmscsi_size_delta = sizeof(struct vmscsi_win8_extension);
                vmstor_current_major = VMSTOR_WIN7_MAJOR;
                vmstor_current_minor = VMSTOR_WIN7_MINOR;
+               break;
+       default:
+               sense_buffer_size = POST_WIN7_STORVSC_SENSE_BUFFER_SIZE;
+               vmscsi_size_delta = 0;
+               vmstor_current_major = VMSTOR_WIN8_MAJOR;
+               vmstor_current_minor = VMSTOR_WIN8_MINOR;
+               break;
        }
 
-
        if (dev_id->driver_data == SFC_GUID)
                scsi_driver.can_queue = (STORVSC_MAX_IO_REQUESTS *
                                         STORVSC_FC_MAX_TARGETS);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to