scsi: virtio_scsi: Call scsi_done() directly
authorBart Van Assche <bvanassche@acm.org>
Thu, 7 Oct 2021 20:46:02 +0000 (13:46 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 17 Oct 2021 01:31:42 +0000 (21:31 -0400)
Conditional statements are faster than indirect calls. Hence call
scsi_done() directly. Additionally, update a comment that refers to the
REQ_ATOM_COMPLETE flag since that flag has been removed a long time ago.

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

index 07d0250f17c3a4a16a28ea5d930ac1df058bc6bf..44fbb0bea190f180591a7ecaa9f7f474171926c2 100644 (file)
@@ -163,7 +163,7 @@ static void virtscsi_complete_cmd(struct virtio_scsi *vscsi, void *buf)
                             VIRTIO_SCSI_SENSE_SIZE));
        }
 
-       sc->scsi_done(sc);
+       scsi_done(sc);
 }
 
 static void virtscsi_vq_done(struct virtio_scsi *vscsi,
@@ -619,9 +619,8 @@ static int virtscsi_tmf(struct virtio_scsi *vscsi, struct virtio_scsi_cmd *cmd)
         * we're using independent interrupts (e.g. MSI).  Poll the
         * virtqueues once.
         *
-        * In the abort case, sc->scsi_done will do nothing, because
-        * the block layer must have detected a timeout and as a result
-        * REQ_ATOM_COMPLETE has been set.
+        * In the abort case, scsi_done() will do nothing, because the
+        * command timed out and hence SCMD_STATE_COMPLETE has been set.
         */
        virtscsi_poll_requests(vscsi);