scsi: NCR5380: Call scsi_done() directly
authorBart Van Assche <bvanassche@acm.org>
Thu, 7 Oct 2021 20:28:08 +0000 (13:28 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 17 Oct 2021 01:28:44 +0000 (21:28 -0400)
Conditional statements are faster than indirect calls. Hence call
scsi_done() directly.

Link: https://lore.kernel.org/r/20211007202923.2174984-14-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/NCR5380.c

index a85589a..55af3e2 100644 (file)
@@ -547,7 +547,7 @@ static void complete_cmd(struct Scsi_Host *instance,
                hostdata->sensing = NULL;
        }
 
-       cmd->scsi_done(cmd);
+       scsi_done(cmd);
 }
 
 /**
@@ -573,7 +573,7 @@ static int NCR5380_queue_command(struct Scsi_Host *instance,
        case WRITE_10:
                shost_printk(KERN_DEBUG, instance, "WRITE attempted with NDEBUG_NO_WRITE set\n");
                cmd->result = (DID_ERROR << 16);
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
                return 0;
        }
 #endif /* (NDEBUG & NDEBUG_NO_WRITE) */
@@ -960,7 +960,7 @@ static irqreturn_t __maybe_unused NCR5380_intr(int irq, void *dev_id)
  * hostdata->connected will be set to cmd.
  * SELECT interrupt will be disabled.
  *
- * If failed (no target) : cmd->scsi_done() will be called, and the
+ * If failed (no target) : scsi_done() will be called, and the
  * cmd->result host byte set to DID_BAD_TARGET.
  */
 
@@ -2262,7 +2262,7 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
                dsprintk(NDEBUG_ABORT, instance,
                         "abort: removed %p from issue queue\n", cmd);
                cmd->result = DID_ABORT << 16;
-               cmd->scsi_done(cmd); /* No tag or busy flag to worry about */
+               scsi_done(cmd); /* No tag or busy flag to worry about */
                goto out;
        }
 
@@ -2357,7 +2357,7 @@ static void bus_reset_cleanup(struct Scsi_Host *instance)
        list_for_each_entry(ncmd, &hostdata->autosense, list) {
                struct scsi_cmnd *cmd = NCR5380_to_scmd(ncmd);
 
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
        }
        INIT_LIST_HEAD(&hostdata->autosense);
 
@@ -2400,7 +2400,7 @@ static int NCR5380_host_reset(struct scsi_cmnd *cmd)
                struct scsi_cmnd *scmd = NCR5380_to_scmd(ncmd);
 
                scmd->result = DID_RESET << 16;
-               scmd->scsi_done(scmd);
+               scsi_done(scmd);
        }
        INIT_LIST_HEAD(&hostdata->unissued);