diff options
| -rw-r--r-- | drivers/scsi/storvsc_drv.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index cebcef7c69ac..8f8847ef1108 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c | |||
| @@ -1553,9 +1553,19 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd) | |||
| 1553 | struct vmscsi_request *vm_srb; | 1553 | struct vmscsi_request *vm_srb; |
| 1554 | struct stor_mem_pools *memp = scmnd->device->hostdata; | 1554 | struct stor_mem_pools *memp = scmnd->device->hostdata; |
| 1555 | 1555 | ||
| 1556 | if (!storvsc_scsi_cmd_ok(scmnd)) { | 1556 | if (vmstor_current_major <= VMSTOR_WIN8_MAJOR) { |
| 1557 | scmnd->scsi_done(scmnd); | 1557 | /* |
| 1558 | return 0; | 1558 | * On legacy hosts filter unimplemented commands. |
| 1559 | * Future hosts are expected to correctly handle | ||
| 1560 | * unsupported commands. Furthermore, it is | ||
| 1561 | * possible that some of the currently | ||
| 1562 | * unsupported commands maybe supported in | ||
| 1563 | * future versions of the host. | ||
| 1564 | */ | ||
| 1565 | if (!storvsc_scsi_cmd_ok(scmnd)) { | ||
| 1566 | scmnd->scsi_done(scmnd); | ||
| 1567 | return 0; | ||
| 1568 | } | ||
| 1559 | } | 1569 | } |
| 1560 | 1570 | ||
| 1561 | request_size = sizeof(struct storvsc_cmd_request); | 1571 | request_size = sizeof(struct storvsc_cmd_request); |
