]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] storvsc: Properly handle errors from the host
authorK. Y. Srinivasan <kys@microsoft.com>
Thu, 5 Apr 2012 19:26:52 +0000 (12:26 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 25 Apr 2012 08:51:43 +0000 (09:51 +0100)
commit2e6a1da28eeab59b4e5787f909e61c77b5d25528
treec5b2767d0b8c2ef2c6f043f387c10b293360376a
parent3baef25b0b97c7789eff8ff74ba4ed8e113150b8
[SCSI] storvsc: Properly handle errors from the host

Hyper-V cannot process some commands like ATA_12 and ATA_16. It also returns a
very generic error when this happens (SRB_STATUS_ERROR).  Most of the time we
treat SRB_STATUS_ERROR as DID_TARGET_FAILURE which causes error handler retry,
but in the case of pass through commands, they'll never succeed (and the error
handler will offline the device), so put a discriminating block in the command
completion routing and send the SRB_STATUS_ERROR upwards with DID_PASSTHROUGH
for commands we know should not be retried.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/storvsc_drv.c