scsi: mesh: Call scsi_done() directly
Conditional statements are faster than indirect calls. Hence call scsi_done() directly. Link: https://lore.kernel.org/r/20211007202923.2174984-51-bvanassche@acm.org Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
9e0603656f
commit
aaf2173b5c
@ -342,15 +342,6 @@ static inline void mesh_flush_io(volatile struct mesh_regs __iomem *mr)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Complete a SCSI command
|
||||
*/
|
||||
static void mesh_completed(struct mesh_state *ms, struct scsi_cmnd *cmd)
|
||||
{
|
||||
(*cmd->scsi_done)(cmd);
|
||||
}
|
||||
|
||||
|
||||
/* Called with meshinterrupt disabled, initialize the chipset
|
||||
* and eventually do the initial bus reset. The lock must not be
|
||||
* held since we can schedule.
|
||||
@ -613,7 +604,7 @@ static void mesh_done(struct mesh_state *ms, int start_next)
|
||||
#endif
|
||||
}
|
||||
cmd->SCp.this_residual -= ms->data_ptr;
|
||||
mesh_completed(ms, cmd);
|
||||
scsi_done(cmd);
|
||||
}
|
||||
if (start_next) {
|
||||
out_8(&ms->mesh->sequence, SEQ_ENBRESEL);
|
||||
@ -996,7 +987,7 @@ static void handle_reset(struct mesh_state *ms)
|
||||
if ((cmd = tp->current_req) != NULL) {
|
||||
set_host_byte(cmd, DID_RESET);
|
||||
tp->current_req = NULL;
|
||||
mesh_completed(ms, cmd);
|
||||
scsi_done(cmd);
|
||||
}
|
||||
ms->tgts[tgt].sdtr_state = do_sdtr;
|
||||
ms->tgts[tgt].sync_params = ASYNC_PARAMS;
|
||||
@ -1005,7 +996,7 @@ static void handle_reset(struct mesh_state *ms)
|
||||
while ((cmd = ms->request_q) != NULL) {
|
||||
ms->request_q = (struct scsi_cmnd *) cmd->host_scribble;
|
||||
set_host_byte(cmd, DID_RESET);
|
||||
mesh_completed(ms, cmd);
|
||||
scsi_done(cmd);
|
||||
}
|
||||
ms->phase = idle;
|
||||
ms->msgphase = msg_none;
|
||||
@ -1634,7 +1625,6 @@ static int mesh_queue_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *
|
||||
{
|
||||
struct mesh_state *ms;
|
||||
|
||||
cmd->scsi_done = done;
|
||||
cmd->host_scribble = NULL;
|
||||
|
||||
ms = (struct mesh_state *) cmd->device->host->hostdata;
|
||||
|
Loading…
Reference in New Issue
Block a user