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

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

index d0b4e06..c508a6e 100644 (file)
@@ -697,7 +697,6 @@ qla1280_queuecommand_lck(struct scsi_cmnd *cmd, void (*fn)(struct scsi_cmnd *))
        struct srb *sp = (struct srb *)CMD_SP(cmd);
        int status;
 
-       cmd->scsi_done = fn;
        sp->cmd = cmd;
        sp->flags = 0;
        sp->wait = NULL;
@@ -755,7 +754,7 @@ _qla1280_wait_for_single_command(struct scsi_qla_host *ha, struct srb *sp,
        sp->wait = NULL;
        if(CMD_HANDLE(cmd) == COMPLETED_HANDLE) {
                status = SUCCESS;
-               (*cmd->scsi_done)(cmd);
+               scsi_done(cmd);
        }
        return status;
 }
@@ -1277,7 +1276,7 @@ qla1280_done(struct scsi_qla_host *ha)
                ha->actthreads--;
 
                if (sp->wait == NULL)
-                       (*(cmd)->scsi_done)(cmd);
+                       scsi_done(cmd);
                else
                        complete(sp->wait);
        }