drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure

On some Windows hosts on FC SANs, TEST_UNIT_READY can return SRB_STATUS_ERROR.
Correctly handle this. Note that there is sufficient sense information to
support scsi error handling even in this case.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
K. Y. Srinivasan 2014-07-12 09:48:32 -07:00 committed by Christoph Hellwig
parent f885fb73f6
commit 3533f8603d
1 changed files with 7 additions and 0 deletions

View File

@ -1018,6 +1018,13 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb,
case ATA_12:
set_host_byte(scmnd, DID_PASSTHROUGH);
break;
/*
* On Some Windows hosts TEST_UNIT_READY command can return
* SRB_STATUS_ERROR, let the upper level code deal with it
* based on the sense information.
*/
case TEST_UNIT_READY:
break;
default:
set_host_byte(scmnd, DID_TARGET_FAILURE);
}