Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

scsi: qla2xxx: 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 entering SCSI error handling.

This has qla2xxx use DID_NO_CONNECT because it looks like we hit this error
when we can't find a port. It will give us the same hard error behavior and
it seems to match the error where we can't find the endpoint.

Link: https://lore.kernel.org/r/20220812010027.8251-7-michael.christie@oracle.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Mike Christie and committed by
Martin K. Petersen
a965d35c 377a7b0b

+1 -1
+1 -1
drivers/scsi/qla2xxx/qla_edif.c
··· 1551 1551 ql_dbg(ql_dbg_edif, vha, 0x70a3, "Failed to find port= %06x\n", 1552 1552 sa_frame.port_id.b24); 1553 1553 rval = -EINVAL; 1554 - SET_DID_STATUS(bsg_reply->result, DID_TARGET_FAILURE); 1554 + SET_DID_STATUS(bsg_reply->result, DID_NO_CONNECT); 1555 1555 goto done; 1556 1556 } 1557 1557