Commit 6c2c7d6a authored by Bart Van Assche's avatar Bart Van Assche Committed by Martin K. Petersen

scsi: scsi_debug: Call scsi_done() directly

Conditional statements are faster than indirect calls. Hence call
scsi_done() directly.

Link: https://lore.kernel.org/r/20211007202923.2174984-70-bvanassche@acm.orgAcked-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent c33a2dca
...@@ -4809,7 +4809,7 @@ static void sdebug_q_cmd_complete(struct sdebug_defer *sd_dp) ...@@ -4809,7 +4809,7 @@ static void sdebug_q_cmd_complete(struct sdebug_defer *sd_dp)
pr_info("bypassing scsi_done() due to aborted cmd\n"); pr_info("bypassing scsi_done() due to aborted cmd\n");
return; return;
} }
scp->scsi_done(scp); /* callback to mid level */ scsi_done(scp); /* callback to mid level */
} }
/* When high resolution timer goes off this function is called. */ /* When high resolution timer goes off this function is called. */
...@@ -5524,7 +5524,7 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, ...@@ -5524,7 +5524,7 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip,
if (new_sd_dp) if (new_sd_dp)
kfree(sd_dp); kfree(sd_dp);
/* call scsi_done() from this thread */ /* call scsi_done() from this thread */
cmnd->scsi_done(cmnd); scsi_done(cmnd);
return 0; return 0;
} }
/* otherwise reduce kt by elapsed time */ /* otherwise reduce kt by elapsed time */
...@@ -5604,7 +5604,7 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, ...@@ -5604,7 +5604,7 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip,
cmnd->result &= ~SDEG_RES_IMMED_MASK; cmnd->result &= ~SDEG_RES_IMMED_MASK;
if (cmnd->result == 0 && scsi_result != 0) if (cmnd->result == 0 && scsi_result != 0)
cmnd->result = scsi_result; cmnd->result = scsi_result;
cmnd->scsi_done(cmnd); scsi_done(cmnd);
return 0; return 0;
} }
...@@ -7363,7 +7363,7 @@ static int sdebug_blk_mq_poll(struct Scsi_Host *shost, unsigned int queue_num) ...@@ -7363,7 +7363,7 @@ static int sdebug_blk_mq_poll(struct Scsi_Host *shost, unsigned int queue_num)
} }
sd_dp->defer_t = SDEB_DEFER_NONE; sd_dp->defer_t = SDEB_DEFER_NONE;
spin_unlock_irqrestore(&sqp->qc_lock, iflags); spin_unlock_irqrestore(&sqp->qc_lock, iflags);
scp->scsi_done(scp); /* callback to mid level */ scsi_done(scp); /* callback to mid level */
spin_lock_irqsave(&sqp->qc_lock, iflags); spin_lock_irqsave(&sqp->qc_lock, iflags);
num_entries++; num_entries++;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment