Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b59b7a6 authored by Bart Van Assche's avatar Bart Van Assche Committed by Doug Ledford
Browse files

IB/srp: Move code out of a loop



Since all srp_map_finish_fr() callers pass a non-zero value as
the fourth argument (sg_nents), the sg_nents == 0 check in that
function can be removed. Add a count == 0 check in the caller
of that function.

Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: Laurence Oberman <loberman@redhat.com>
Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent ffc548bb
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1315,9 +1315,6 @@ static int srp_map_finish_fr(struct srp_map_state *state,

	WARN_ON_ONCE(!dev->use_fast_reg);

	if (sg_nents == 0)
		return 0;

	if (sg_nents == 1 && target->global_mr) {
		srp_map_desc(state, sg_dma_address(state->sg),
			     sg_dma_len(state->sg),
@@ -1439,6 +1436,9 @@ static int srp_map_sg_fr(struct srp_map_state *state, struct srp_rdma_ch *ch,
	state->fr.end = req->fr_list + ch->target->cmd_sg_cnt;
	state->sg = scat;

	if (count == 0)
		return 0;

	while (count) {
		int i, n;