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

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

index 9a8c037a2f21952bd396296514bcbf7e0c7c717a..f7c2d64f1cef9b4d4364c92a688583ac0a0bb181 100644 (file)
@@ -936,7 +936,7 @@ static void esp_cmd_is_done(struct esp *esp, struct esp_cmd_entry *ent,
                }
        }
 
-       cmd->scsi_done(cmd);
+       scsi_done(cmd);
 
        list_del(&ent->list);
        esp_put_ent(esp, ent);
@@ -965,8 +965,6 @@ static int esp_queuecommand_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_
 
        ent->cmd = cmd;
 
-       cmd->scsi_done = done;
-
        spriv = ESP_CMD_PRIV(cmd);
        spriv->num_sg = 0;
 
@@ -2038,7 +2036,7 @@ static void esp_reset_cleanup_one(struct esp *esp, struct esp_cmd_entry *ent)
        if (ent->flags & ESP_CMD_FLAG_AUTOSENSE)
                esp_unmap_sense(esp, ent);
 
-       cmd->scsi_done(cmd);
+       scsi_done(cmd);
        list_del(&ent->list);
        esp_put_ent(esp, ent);
 }
@@ -2061,7 +2059,7 @@ static void esp_reset_cleanup(struct esp *esp)
 
                list_del(&ent->list);
                cmd->result = DID_RESET << 16;
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
                esp_put_ent(esp, ent);
        }
 
@@ -2535,7 +2533,7 @@ static int esp_eh_abort_handler(struct scsi_cmnd *cmd)
                list_del(&ent->list);
 
                cmd->result = DID_ABORT << 16;
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
 
                esp_put_ent(esp, ent);