diff options
author | Bart Van Assche <bvanassche@acm.org> | 2021-10-07 13:46:04 -0700 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-10-16 21:31:42 -0400 |
commit | 9c4f6be7ddecce17684aa93085f2749695f870da (patch) | |
tree | abf8872d0fbfb91d84eaef40196998b6ca82a955 /drivers/scsi | |
parent | aeb2627dcfd98b57d0a5a8de9d268e586cad6e35 (diff) |
scsi: wd33c93: Call scsi_done() directly
Conditional statements are faster than indirect calls. Hence call
scsi_done() directly.
Link: https://lore.kernel.org/r/20211007204618.2196847-4-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/wd33c93.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/scsi/wd33c93.c b/drivers/scsi/wd33c93.c index 4468bc45aaa4..fe28d21c7e93 100644 --- a/drivers/scsi/wd33c93.c +++ b/drivers/scsi/wd33c93.c @@ -376,11 +376,9 @@ wd33c93_queuecommand_lck(struct scsi_cmnd *cmd, /* Set up a few fields in the scsi_cmnd structure for our own use: * - host_scribble is the pointer to the next cmd in the input queue - * - scsi_done points to the routine we call when a cmd is finished * - result is what you'd expect */ cmd->host_scribble = NULL; - cmd->scsi_done = done; cmd->result = 0; /* We use the Scsi_Pointer structure that's included with each command @@ -856,7 +854,7 @@ wd33c93_intr(struct Scsi_Host *instance) cmd->result = DID_NO_CONNECT << 16; hostdata->busy[cmd->device->id] &= ~(1 << (cmd->device->lun & 0xff)); hostdata->state = S_UNCONNECTED; - cmd->scsi_done(cmd); + scsi_done(cmd); /* From esp.c: * There is a window of time within the scsi_done() path @@ -1183,7 +1181,7 @@ wd33c93_intr(struct Scsi_Host *instance) scsi_msg_to_host_byte(cmd, cmd->SCp.Message); set_status_byte(cmd, cmd->SCp.Status); } - cmd->scsi_done(cmd); + scsi_done(cmd); /* We are no longer connected to a target - check to see if * there are commands waiting to be executed. @@ -1270,7 +1268,7 @@ wd33c93_intr(struct Scsi_Host *instance) scsi_msg_to_host_byte(cmd, cmd->SCp.Message); set_status_byte(cmd, cmd->SCp.Status); } - cmd->scsi_done(cmd); + scsi_done(cmd); /* We are no longer connected to a target - check to see if * there are commands waiting to be executed. @@ -1306,7 +1304,7 @@ wd33c93_intr(struct Scsi_Host *instance) scsi_msg_to_host_byte(cmd, cmd->SCp.Message); set_status_byte(cmd, cmd->SCp.Status); } - cmd->scsi_done(cmd); + scsi_done(cmd); break; case S_PRE_TMP_DISC: case S_RUNNING_LEVEL2: @@ -1636,7 +1634,7 @@ wd33c93_abort(struct scsi_cmnd * cmd) ("scsi%d: Abort - removing command from input_Q. ", instance->host_no); enable_irq(cmd->device->host->irq); - cmd->scsi_done(cmd); + scsi_done(cmd); return SUCCESS; } prev = tmp; @@ -1711,7 +1709,7 @@ wd33c93_abort(struct scsi_cmnd * cmd) wd33c93_execute(instance); enable_irq(cmd->device->host->irq); - cmd->scsi_done(cmd); + scsi_done(cmd); return SUCCESS; } |