scsi: bfa: Call scsi_done() directly
authorBart Van Assche <bvanassche@acm.org>
Thu, 7 Oct 2021 20:28:19 +0000 (13:28 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 17 Oct 2021 01:28:45 +0000 (21:28 -0400)
Conditional statements are faster than indirect calls. Hence call
scsi_done() directly.

Link: https://lore.kernel.org/r/20211007202923.2174984-25-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/bfa/bfad_im.c

index 6b5841b1c06e8eccc0966bf4464c4e1e972594d5..e12ae60efd33c57f72a361354554a5debf26b3fd 100644 (file)
@@ -96,7 +96,7 @@ bfa_cb_ioim_done(void *drv, struct bfad_ioim_s *dio,
                }
        }
 
-       cmnd->scsi_done(cmnd);
+       scsi_done(cmnd);
 }
 
 void
@@ -124,7 +124,7 @@ bfa_cb_ioim_good_comp(void *drv, struct bfad_ioim_s *dio)
                }
        }
 
-       cmnd->scsi_done(cmnd);
+       scsi_done(cmnd);
 }
 
 void
@@ -226,7 +226,7 @@ bfad_im_abort_handler(struct scsi_cmnd *cmnd)
                        timeout *= 2;
        }
 
-       cmnd->scsi_done(cmnd);
+       scsi_done(cmnd);
        bfa_trc(bfad, hal_io->iotag);
        BFA_LOG(KERN_INFO, bfad, bfa_log_level,
                "scsi%d: complete abort 0x%p iotag 0x%x\n",
@@ -1233,8 +1233,6 @@ bfad_im_queuecommand_lck(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd
        if (sg_cnt < 0)
                return SCSI_MLQUEUE_HOST_BUSY;
 
-       cmnd->scsi_done = done;
-
        spin_lock_irqsave(&bfad->bfad_lock, flags);
        if (!(bfad->bfad_flags & BFAD_HAL_START_DONE)) {
                printk(KERN_WARNING