Commit 70a5caf1 authored by Bart Van Assche's avatar Bart Van Assche Committed by Martin K. Petersen
Browse files

scsi: snic: Call scsi_done() directly

Conditional statements are faster than indirect calls. Hence call
scsi_done() directly.

Link: https://lore.kernel.org/r/20211007202923.2174984-72-bvanassche@acm.org


Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 0ca19080
Loading
Loading
Loading
Loading
+14 −19
Original line number Diff line number Diff line
@@ -342,7 +342,7 @@ snic_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *sc)
		SNIC_HOST_ERR(shost, "Tgt %p id %d Not Ready.\n", tgt, tgt->id);
		atomic64_inc(&snic->s_stats.misc.tgt_not_rdy);
		sc->result = ret;
		sc->scsi_done(sc);
		scsi_done(sc);

		return 0;
	}
@@ -676,8 +676,7 @@ snic_icmnd_cmpl_handler(struct snic *snic, struct snic_fw_req *fwreq)
		 SNIC_TRC_CMD(sc), SNIC_TRC_CMD_STATE_FLAGS(sc));


	if (sc->scsi_done)
		sc->scsi_done(sc);
	scsi_done(sc);

	snic_stats_update_io_cmpl(&snic->s_stats);
} /* end of snic_icmnd_cmpl_handler */
@@ -855,14 +854,12 @@ snic_process_itmf_cmpl(struct snic *snic,

		snic_release_req_buf(snic, rqi, sc);

		if (sc->scsi_done) {
		SNIC_TRC(snic->shost->host_no, cmnd_id, (ulong) sc,
			 jiffies_to_msecs(jiffies - start_time),
			 (ulong) fwreq, SNIC_TRC_CMD(sc),
			 SNIC_TRC_CMD_STATE_FLAGS(sc));

			sc->scsi_done(sc);
		}
		scsi_done(sc);

		break;

@@ -1475,7 +1472,7 @@ snic_abort_finish(struct snic *snic, struct scsi_cmnd *sc)
		 * Call scsi_done to complete the IO.
		 */
		sc->result = (DID_ERROR << 16);
		sc->scsi_done(sc);
		scsi_done(sc);
		break;

	default:
@@ -1855,7 +1852,7 @@ snic_dr_clean_single_req(struct snic *snic,
	snic_release_req_buf(snic, rqi, sc);

	sc->result = (DID_ERROR << 16);
	sc->scsi_done(sc);
	scsi_done(sc);

	ret = 0;

@@ -2500,14 +2497,12 @@ snic_scsi_cleanup(struct snic *snic, int ex_tag)
		/* Update IO stats */
		snic_stats_update_io_cmpl(&snic->s_stats);

		if (sc->scsi_done) {
		SNIC_TRC(snic->shost->host_no, tag, (ulong) sc,
			 jiffies_to_msecs(jiffies - st_time), 0,
			 SNIC_TRC_CMD(sc),
			 SNIC_TRC_CMD_STATE_FLAGS(sc));

			sc->scsi_done(sc);
		}
		scsi_done(sc);
	}
} /* end of snic_scsi_cleanup */