mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
scsi: libsas: Decode SAM status and host byte codes
Value 0 is used for SAM status and libsas exec_status bytes codes in sas_end_task() - use defined macros instead. In addition, change to proper enum types. Also replace SAM_STAT_CHECK_CONDITION with SAS_SAM_STAT_CHECK_CONDITION, the former being a proper member of enum exec_status. Link: https://lore.kernel.org/r/1639579061-179473-9-git-send-email-john.garry@huawei.com Signed-off-by: John Garry <john.garry@huawei.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
37310bad7f
commit
4be6181fea
@ -37,7 +37,8 @@
|
||||
static void sas_end_task(struct scsi_cmnd *sc, struct sas_task *task)
|
||||
{
|
||||
struct task_status_struct *ts = &task->task_status;
|
||||
int hs = 0, stat = 0;
|
||||
enum scsi_host_status hs = DID_OK;
|
||||
enum exec_status stat = SAS_SAM_STAT_GOOD;
|
||||
|
||||
if (ts->resp == SAS_TASK_UNDELIVERED) {
|
||||
/* transport error */
|
||||
@ -82,10 +83,10 @@ static void sas_end_task(struct scsi_cmnd *sc, struct sas_task *task)
|
||||
case SAS_ABORTED_TASK:
|
||||
hs = DID_ABORT;
|
||||
break;
|
||||
case SAM_STAT_CHECK_CONDITION:
|
||||
case SAS_SAM_STAT_CHECK_CONDITION:
|
||||
memcpy(sc->sense_buffer, ts->buf,
|
||||
min(SCSI_SENSE_BUFFERSIZE, ts->buf_valid_size));
|
||||
stat = SAM_STAT_CHECK_CONDITION;
|
||||
stat = SAS_SAM_STAT_CHECK_CONDITION;
|
||||
break;
|
||||
default:
|
||||
stat = ts->stat;
|
||||
|
Loading…
Reference in New Issue
Block a user