scsi: storvsc_drv: Call scsi_done() directly
authorBart Van Assche <bvanassche@acm.org>
Thu, 7 Oct 2021 20:29:08 +0000 (13:29 -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.

Link: https://lore.kernel.org/r/20211007202923.2174984-74-bvanassche@acm.org
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/storvsc_drv.c

index ebbbc12..70d0b1d 100644 (file)
@@ -1154,7 +1154,7 @@ static void storvsc_command_completion(struct storvsc_cmd_request *cmd_request,
        scsi_set_resid(scmnd,
                cmd_request->payload->range.len - data_transfer_length);
 
-       scmnd->scsi_done(scmnd);
+       scsi_done(scmnd);
 
        if (payload_sz >
                sizeof(struct vmbus_channel_packet_multipage_buffer))
@@ -1753,7 +1753,7 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
                 * future versions of the host.
                 */
                if (!storvsc_scsi_cmd_ok(scmnd)) {
-                       scmnd->scsi_done(scmnd);
+                       scsi_done(scmnd);
                        return 0;
                }
        }