Conditional statements are faster than indirect calls. Hence call scsi_done() directly. Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> --- drivers/scsi/qla1280.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c index d0b4e063bfe1..c508a6e20519 100644 --- a/drivers/scsi/qla1280.c +++ b/drivers/scsi/qla1280.c @@ -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); }