Conditional statements are faster than indirect calls. Hence call scsi_done() directly. Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> --- drivers/scsi/hptiop.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c index 61cda7b7624f..f18f6a677c1b 100644 --- a/drivers/scsi/hptiop.c +++ b/drivers/scsi/hptiop.c @@ -769,7 +769,7 @@ static void hptiop_finish_scsi_req(struct hptiop_hba *hba, u32 tag, skip_resid: dprintk("scsi_done(%p)\n", scp); - scp->scsi_done(scp); + scsi_done(scp); free_req(hba, &hba->reqs[tag]); } @@ -1002,9 +1002,6 @@ static int hptiop_queuecommand_lck(struct scsi_cmnd *scp, int sg_count = 0; struct hptiop_request *_req; - BUG_ON(!done); - scp->scsi_done = done; - _req = get_req(hba); if (_req == NULL) { dprintk("hptiop_queuecmd : no free req\n"); @@ -1059,7 +1056,7 @@ static int hptiop_queuecommand_lck(struct scsi_cmnd *scp, cmd_done: dprintk("scsi_done(scp=%p)\n", scp); - scp->scsi_done(scp); + scsi_done(scp); return 0; }