On 6/14/23 4:46 PM, Bart Van Assche wrote: > On 6/14/23 00:17, Mike Christie wrote: >> If scsi_execute_cmd returns < 0 it will not have set the sshdr, so we >> can't access it. >> >> Signed-off-by: Mike Christie <michael.christie@xxxxxxxxxx> >> --- >> drivers/scsi/scsi_transport_spi.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/scsi/scsi_transport_spi.c b/drivers/scsi/scsi_transport_spi.c >> index 2442d4d2e3f3..2100c3adb456 100644 >> --- a/drivers/scsi/scsi_transport_spi.c >> +++ b/drivers/scsi/scsi_transport_spi.c >> @@ -126,7 +126,7 @@ static int spi_execute(struct scsi_device *sdev, const void *cmd, >> */ >> result = scsi_execute_cmd(sdev, cmd, opf, buffer, bufflen, >> DV_TIMEOUT, 1, &exec_args); >> - if (result < 0 || !scsi_sense_valid(sshdr) || >> + if (result <= 0 || !scsi_sense_valid(sshdr) || >> sshdr->sense_key != UNIT_ATTENTION) >> break; >> } > > Hmm ... why is this change necessary? It's not needed. Will drop. I think when reviewing sshdr code I thought it was a waste to check for sense when result was zero. When I broke up the set, it got caught in the sshdr fixes. Will drop since not related.