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

Link: https://lore.kernel.org/r/20211007204618.2196847-1-bvanassche@acm.org
Reviewed-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c

index f871f74fd59e12ab5a0db1e3bf3c89e39266029c..10f5805ae3f6935fed695edd8196d3d8b0be9f98 100644 (file)
@@ -2714,7 +2714,7 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
                if (hba->pm_op_in_progress) {
                        hba->force_reset = true;
                        set_host_byte(cmd, DID_BAD_TARGET);
-                       cmd->scsi_done(cmd);
+                       scsi_done(cmd);
                        goto out;
                }
                fallthrough;
@@ -2723,7 +2723,7 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
                goto out;
        case UFSHCD_STATE_ERROR:
                set_host_byte(cmd, DID_ERROR);
-               cmd->scsi_done(cmd);
+               scsi_done(cmd);
                goto out;
        }
 
@@ -5275,7 +5275,7 @@ static void __ufshcd_transfer_req_compl(struct ufs_hba *hba,
                        /* Mark completed command as NULL in LRB */
                        lrbp->cmd = NULL;
                        /* Do not touch lrbp after scsi done */
-                       cmd->scsi_done(cmd);
+                       scsi_done(cmd);
                        ufshcd_release(hba);
                        update_scaling = true;
                } else if (lrbp->command_type == UTP_CMD_TYPE_DEV_MANAGE ||