scsi: NCR5380: Fold SCSI message ABORT onto DID_ABORT
authorHannes Reinecke <hare@suse.de>
Tue, 27 Apr 2021 08:30:21 +0000 (10:30 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 1 Jun 2021 02:48:22 +0000 (22:48 -0400)
The message byte can take only two values, COMMAND_COMPLETE and ABORT.  So
we can easily map ABORT to DID_ABORT and not set the message byte.

Link: https://lore.kernel.org/r/20210427083046.31620-16-hare@suse.de
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/NCR5380.c

index d7594b7..a746749 100644 (file)
@@ -1815,6 +1815,8 @@ static void NCR5380_information_transfer(struct Scsi_Host *instance)
 
                                switch (tmp) {
                                case ABORT:
+                                       set_host_byte(cmd, DID_ABORT);
+                                       /* fallthrough */
                                case COMMAND_COMPLETE:
                                        /* Accept message by clearing ACK */
                                        sink = 1;
@@ -1826,9 +1828,7 @@ static void NCR5380_information_transfer(struct Scsi_Host *instance)
                                        hostdata->connected = NULL;
                                        hostdata->busy[scmd_id(cmd)] &= ~(1 << cmd->device->lun);
 
-                                       cmd->result &= ~0xffff;
-                                       cmd->result |= cmd->SCp.Status;
-                                       cmd->result |= cmd->SCp.Message << 8;
+                                       set_status_byte(cmd, cmd->SCp.Status);
 
                                        set_resid_from_SCp(cmd);