summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/storvsc_drv.c
diff options
context:
space:
mode:
authorMike Christie <michael.christie@oracle.com>2022-08-12 03:00:19 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2022-09-07 04:05:58 +0200
commita6cb5462500f3cb4b0f81dca9d01fe464a92a163 (patch)
tree1227cade0f99eae6434840a20a56a7a0807a95d4 /drivers/scsi/storvsc_drv.c
parentscsi: xen: Drop use of internal host codes (diff)
downloadlinux-a6cb5462500f3cb4b0f81dca9d01fe464a92a163.tar.xz
linux-a6cb5462500f3cb4b0f81dca9d01fe464a92a163.zip
scsi: storvsc: Drop DID_TARGET_FAILURE use
DID_TARGET_FAILURE is internal to the SCSI layer. Drivers must not use it because: 1. It's not propagated upwards, so SG IO/passthrough users will not see an error and think a command was successful. 2. There is no handling for it in scsi_decide_disposition() so it results in the SCSI error handling running. It looks like the driver wanted a hard failure so swap it with DID_BAD_TARGET. Link: https://lore.kernel.org/r/20220812010027.8251-3-michael.christie@oracle.com Signed-off-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/storvsc_drv.c')
-rw-r--r--drivers/scsi/storvsc_drv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index fe000da11332..25c44c87c972 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1029,7 +1029,7 @@ do_work:
*/
wrk = kmalloc(sizeof(struct storvsc_scan_work), GFP_ATOMIC);
if (!wrk) {
- set_host_byte(scmnd, DID_TARGET_FAILURE);
+ set_host_byte(scmnd, DID_BAD_TARGET);
return;
}