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

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

index 7c0f931e55e82998c247dc2fdbed3e5f2686ecbf..0271d534133ada7e65ac9cc3514afcf8205bd7bf 100644 (file)
@@ -178,7 +178,7 @@ static void nsp_scsi_done(struct scsi_cmnd *SCpnt)
 
        data->CurrentSC = NULL;
 
-       SCpnt->scsi_done(SCpnt);
+       scsi_done(SCpnt);
 }
 
 static int nsp_queuecommand_lck(struct scsi_cmnd *SCpnt,
@@ -197,8 +197,6 @@ static int nsp_queuecommand_lck(struct scsi_cmnd *SCpnt,
                scsi_bufflen(SCpnt), scsi_sg_count(SCpnt));
        //nsp_dbg(NSP_DEBUG_QUEUECOMMAND, "before CurrentSC=0x%p", data->CurrentSC);
 
-       SCpnt->scsi_done        = done;
-
        if (data->CurrentSC != NULL) {
                nsp_msg(KERN_DEBUG, "CurrentSC!=NULL this can't be happen");
                SCpnt->result   = DID_BAD_TARGET << 16;
index a366ff1a3959de0e1490e0be8a927b716cc10c07..d2adda815d7b94a917e6f9341a4f755842295d46 100644 (file)
@@ -492,7 +492,7 @@ out:
 
 idle_out:
        curSC->SCp.phase = idle;
-       curSC->scsi_done(curSC);
+       scsi_done(curSC);
        goto out;
 }
 
@@ -556,7 +556,6 @@ SYM53C500_queue_lck(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *))
        VDEB(printk("\n"));
 
        data->current_SC = SCpnt;
-       data->current_SC->scsi_done = done;
        data->current_SC->SCp.phase = command_ph;
        data->current_SC->SCp.Status = 0;
        data->current_SC->SCp.Message = 0;