Message ID | 20210922162603.476745-2-bvanassche@acm.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Call scsi_done() directly | expand |
On Wed, Sep 22, 2021 at 09:25:58AM -0700, Bart Van Assche wrote: > Conditional statements are faster than indirect calls. Hence call > scsi_done() directly. > > Signed-off-by: Bart Van Assche <bvanassche@acm.org> > --- > drivers/staging/rts5208/rtsx.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/staging/rts5208/rtsx.c b/drivers/staging/rts5208/rtsx.c > index 898add4d1fc8..f1136f6bcee2 100644 > --- a/drivers/staging/rts5208/rtsx.c > +++ b/drivers/staging/rts5208/rtsx.c > @@ -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); > } Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/staging/rts5208/rtsx.c b/drivers/staging/rts5208/rtsx.c index 898add4d1fc8..f1136f6bcee2 100644 --- a/drivers/staging/rts5208/rtsx.c +++ b/drivers/staging/rts5208/rtsx.c @@ -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); }
Conditional statements are faster than indirect calls. Hence call scsi_done() directly. Signed-off-by: Bart Van Assche <bvanassche@acm.org> --- drivers/staging/rts5208/rtsx.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)