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

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.org


Acked-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
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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");
		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. */
@@ -5524,7 +5524,7 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip,
					if (new_sd_dp)
						kfree(sd_dp);
					/* call scsi_done() from this thread */
					cmnd->scsi_done(cmnd);
					scsi_done(cmnd);
					return 0;
				}
				/* otherwise reduce kt by elapsed time */
@@ -5604,7 +5604,7 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip,
	cmnd->result &= ~SDEG_RES_IMMED_MASK;
	if (cmnd->result == 0 && scsi_result != 0)
		cmnd->result = scsi_result;
	cmnd->scsi_done(cmnd);
	scsi_done(cmnd);
	return 0;
}

@@ -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;
		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);
		num_entries++;
	}