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

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

index e41cc35..4ebc2c7 100644 (file)
@@ -1352,7 +1352,7 @@ static irqreturn_t twa_interrupt(int irq, void *dev_instance)
                                /* Now complete the io */
                                if (twa_command_mapped(cmd))
                                        scsi_dma_unmap(cmd);
-                               cmd->scsi_done(cmd);
+                               scsi_done(cmd);
                                tw_dev->state[request_id] = TW_S_COMPLETED;
                                twa_free_request_id(tw_dev, request_id);
                                tw_dev->posted_request_count--;
@@ -1596,7 +1596,7 @@ static int twa_reset_device_extension(TW_Device_Extension *tw_dev)
                                cmd->result = (DID_RESET << 16);
                                if (twa_command_mapped(cmd))
                                        scsi_dma_unmap(cmd);
-                               cmd->scsi_done(cmd);
+                               scsi_done(cmd);
                        }
                }
        }
@@ -1763,9 +1763,6 @@ static int twa_scsi_queue_lck(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_
                goto out;
        }
 
-       /* Save done function into scsi_cmnd struct */
-       SCpnt->scsi_done = done;
-
        /* Get a free request id */
        twa_get_request_id(tw_dev, &request_id);