]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure
authorK. Y. Srinivasan <kys@microsoft.com>
Sat, 12 Jul 2014 16:48:32 +0000 (09:48 -0700)
committerChristoph Hellwig <hch@lst.de>
Fri, 25 Jul 2014 21:17:03 +0000 (17:17 -0400)
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>
drivers/scsi/storvsc_drv.c

index b529ae8e8fff4ce051fd1a2e74e1e39d74862c4b..ed0f899e8aa56cf39dcc639129a5ecf1713d0011 100644 (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);
                }