Conditional statements are faster than indirect calls. Hence call scsi_done() directly. Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> --- drivers/scsi/atp870u.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c index 9d179cd15bb8..6e1595b32bc0 100644 --- a/drivers/scsi/atp870u.c +++ b/drivers/scsi/atp870u.c @@ -512,7 +512,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id) scsi_dma_unmap(workreq); spin_lock_irqsave(dev->host->host_lock, flags); - (*workreq->scsi_done) (workreq); + scsi_done(workreq); #ifdef ED_DBGP printk("workreq->scsi_done\n"); #endif @@ -654,17 +654,6 @@ static int atp870u_queuecommand_lck(struct scsi_cmnd *req_p, return 0; } - if (done) { - req_p->scsi_done = done; - } else { -#ifdef ED_DBGP - printk( "atp870u_queuecommand: done can't be NULL\n"); -#endif - req_p->result = 0; - done(req_p); - return 0; - } - /* * Count new command */