[SCSI] libfc: use DID_ERROR when we have internall aborted command
authorMike Christie <michaelc@cs.wisc.edu>
Wed, 6 May 2009 17:52:23 +0000 (10:52 -0700)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 8 Jun 2009 18:29:10 +0000 (13:29 -0500)
If we aborted a command, because it timed out we should not use
DID_ABORT. It will fail the command right away back to the upper
layer. We want to use something that indicated that the problem
did not complete normally, but it was not a fatal problem.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/libfc/fc_fcp.c

index 521f996f9b131dd96c654530cfd73b06a961560c..ad8b747837b08c8922f56d4690f091d304e2321e 100644 (file)
@@ -1896,7 +1896,7 @@ static void fc_io_compl(struct fc_fcp_pkt *fsp)
                sc_cmd->result = (DID_ERROR << 16) | fsp->cdb_status;
                break;
        case FC_CMD_ABORTED:
-               sc_cmd->result = (DID_ABORT << 16) | fsp->io_status;
+               sc_cmd->result = (DID_ERROR << 16) | fsp->io_status;
                break;
        case FC_CMD_TIME_OUT:
                sc_cmd->result = (DID_BUS_BUSY << 16) | fsp->io_status;