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

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

index 9b75e19..183f957 100644 (file)
@@ -2615,8 +2615,6 @@ static int i91u_queuecommand_lck(struct scsi_cmnd *cmd,
        struct initio_host *host = (struct initio_host *) cmd->device->host->hostdata;
        struct scsi_ctrl_blk *cmnd;
 
-       cmd->scsi_done = done;
-
        cmnd = initio_alloc_scb(host);
        if (!cmnd)
                return SCSI_MLQUEUE_HOST_BUSY;
@@ -2788,7 +2786,7 @@ static void i91uSCBPost(u8 * host_mem, u8 * cblk_mem)
 
        cmnd->result = cblk->tastat | (cblk->hastat << 16);
        i91u_unmap_scb(host->pci_dev, cmnd);
-       cmnd->scsi_done(cmnd);  /* Notify system DONE           */
+       scsi_done(cmnd);        /* Notify system DONE           */
        initio_release_scb(host, cblk); /* Release SCB for current channel */
 }