Commit 6aa4c361 authored by Robert Elliott's avatar Robert Elliott Committed by Christoph Hellwig

hpsa: do not unconditionally copy sense data

Signed-off-by: default avatarRobert Elliott <elliott@hp.com>
Signed-off-by: default avatarStephen M. Cameron <scameron@beardog.cce.hp.com>
Reviewed-by: default avatarStephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 3fa89a04
...@@ -1708,7 +1708,14 @@ static void complete_scsi_command(struct CommandList *cp) ...@@ -1708,7 +1708,14 @@ static void complete_scsi_command(struct CommandList *cp)
cmd->result |= ei->ScsiStatus; cmd->result |= ei->ScsiStatus;
/* copy the sense data whether we need to or not. */ scsi_set_resid(cmd, ei->ResidualCnt);
if (ei->CommandStatus == 0) {
cmd_free(h, cp);
cmd->scsi_done(cmd);
return;
}
/* copy the sense data */
if (SCSI_SENSE_BUFFERSIZE < sizeof(ei->SenseInfo)) if (SCSI_SENSE_BUFFERSIZE < sizeof(ei->SenseInfo))
sense_data_size = SCSI_SENSE_BUFFERSIZE; sense_data_size = SCSI_SENSE_BUFFERSIZE;
else else
...@@ -1717,13 +1724,6 @@ static void complete_scsi_command(struct CommandList *cp) ...@@ -1717,13 +1724,6 @@ static void complete_scsi_command(struct CommandList *cp)
sense_data_size = ei->SenseLen; sense_data_size = ei->SenseLen;
memcpy(cmd->sense_buffer, ei->SenseInfo, sense_data_size); memcpy(cmd->sense_buffer, ei->SenseInfo, sense_data_size);
scsi_set_resid(cmd, ei->ResidualCnt);
if (ei->CommandStatus == 0) {
cmd_free(h, cp);
cmd->scsi_done(cmd);
return;
}
/* For I/O accelerator commands, copy over some fields to the normal /* For I/O accelerator commands, copy over some fields to the normal
* CISS header used below for error handling. * CISS header used below for error handling.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment