scsi: megaraid: Use combined sense codes

Refactor the megaraid driver to use the scsi_set_sense() function and
replace all hard-coded additional sense codes and additional sense code
qualifiers with the enum values defined in include/scsi/scsi_sense.h. This
helps with code clarity as the sense codes being processed are easier to
test and self-documented.

No functional change intended.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Hannes Reinecke <hare@kernel.org>
Link: https://patch.msgid.link/20260908090308.1085097-22-dlemoal@kernel.org
Signed-off-by: Martin K. Petersen (Oracle) <mkp@kernel.org>
This commit is contained in:
Damien Le Moal 2026-09-08 18:02:49 +09:00 committed by Martin K. Petersen (Oracle)
parent 9141a92896
commit 0c4d570067
3 changed files with 12 additions and 10 deletions

View File

@ -1592,9 +1592,11 @@ mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status)
epthru->reqsensearea, 14);
cmd->result = SAM_STAT_CHECK_CONDITION;
} else
scsi_build_sense(cmd, 0,
ABORTED_COMMAND, 0, 0);
} else {
scsi_set_sense(cmd, 0,
ABORTED_COMMAND,
NO_ADDITIONAL_SENSE_INFORMATION);
}
}
break;

View File

@ -37,8 +37,6 @@
#define PCI_CONF_AMISIG64 0xa4
#define MEGA_SCSI_INQ_EVPD 1
#define MEGA_INVALID_FIELD_IN_CDB 0x24
/**
* scb_t - scsi command control block

View File

@ -1577,8 +1577,8 @@ megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp,
}
if (scp->cmnd[1] & MEGA_SCSI_INQ_EVPD) {
scsi_build_sense(scp, 0, ILLEGAL_REQUEST,
MEGA_INVALID_FIELD_IN_CDB, 0);
scsi_set_sense(scp, 0, ILLEGAL_REQUEST,
INVALID_FIELD_IN_CDB);
return NULL;
}
@ -2311,9 +2311,11 @@ megaraid_mbox_dpc(unsigned long devp)
epthru->reqsensearea, 14);
scp->result = SAM_STAT_CHECK_CONDITION;
} else
scsi_build_sense(scp, 0,
ABORTED_COMMAND, 0, 0);
} else {
scsi_set_sense(scp, 0,
ABORTED_COMMAND,
NO_ADDITIONAL_SENSE_INFORMATION);
}
}
break;