mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 18:42:14 -04:00
hpsa: do not unconditionally copy sense data
Signed-off-by: Robert Elliott <elliott@hp.com> Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Reviewed-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
committed by
Christoph Hellwig
parent
3fa89a04e0
commit
6aa4c361bf
@@ -1708,7 +1708,14 @@ static void complete_scsi_command(struct CommandList *cp)
|
||||
|
||||
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))
|
||||
sense_data_size = SCSI_SENSE_BUFFERSIZE;
|
||||
else
|
||||
@@ -1717,13 +1724,6 @@ static void complete_scsi_command(struct CommandList *cp)
|
||||
sense_data_size = ei->SenseLen;
|
||||
|
||||
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
|
||||
* CISS header used below for error handling.
|
||||
|
||||
Reference in New Issue
Block a user