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

Link: https://lore.kernel.org/r/20211007204618.2196847-7-bvanassche@acm.org
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/staging/rts5208/rtsx.c

index 898add4..f1136f6 100644 (file)
@@ -140,7 +140,6 @@ static int queuecommand_lck(struct scsi_cmnd *srb,
        }
 
        /* enqueue the command and wake up the control thread */
-       srb->scsi_done = done;
        chip->srb = srb;
        complete(&dev->cmnd_ready);
 
@@ -423,7 +422,7 @@ static int rtsx_control_thread(void *__dev)
 
                /* indicate that the command is done */
                else if (chip->srb->result != DID_ABORT << 16) {
-                       chip->srb->scsi_done(chip->srb);
+                       scsi_done(chip->srb);
                } else {
 skip_for_abort:
                        dev_err(&dev->pci->dev, "scsi command aborted\n");
@@ -635,7 +634,7 @@ static void quiesce_and_remove_host(struct rtsx_dev *dev)
        if (chip->srb) {
                chip->srb->result = DID_NO_CONNECT << 16;
                scsi_lock(host);
-               chip->srb->scsi_done(dev->chip->srb);
+               scsi_done(dev->chip->srb);
                chip->srb = NULL;
                scsi_unlock(host);
        }