On 12/8/2017 1:35 PM, Bart Van Assche wrote: > On Fri, 2017-12-08 at 13:17 -0500, Hal Rosenstock wrote: >> Given what Nicolas wrote, maybe this should be split into 2 patches with >> first being refactoring but not changing counter and leave the counter >> increase for Nicolas. > > Hello Hal, > > How about the patch below? > > Thanks, > > Bart. > > > [PATCH for rdma-core] register_to_trap(): Specify number of iterations once > > Rearrange the loop in register_to_trap() and also the if-statement > after that loop such that the number of iterations only occurs once. > > Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxx> > Cc: Hal Rosenstock <hal@xxxxxxxxxxxxxxxxxx> > Cc: Nicolas Morey-Chaisemartin <NMoreyChaisemartin@xxxxxxx> > --- > srp_daemon/srp_handle_traps.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/srp_daemon/srp_handle_traps.c b/srp_daemon/srp_handle_traps.c > index 6d94634ef6df..6b36b15cc84c 100644 > --- a/srp_daemon/srp_handle_traps.c > +++ b/srp_daemon/srp_handle_traps.c > @@ -550,8 +550,8 @@ static int register_to_trap(struct sync_resources *sync_res, > struct ibv_sge sg; > struct ibv_send_wr *_bad_wr = NULL; > struct ibv_send_wr **bad_wr = &_bad_wr; > - int counter = 0; > - int rc = 0; > + int counter; > + int rc; > int ret; > long long unsigned comp_mask = 0; > > @@ -609,7 +609,7 @@ static int register_to_trap(struct sync_resources *sync_res, > p_sa_mad->comp_mask = htobe64(comp_mask); > pr_debug("comp_mask: %llx\n", comp_mask); > > - do { > + for (counter = 3, rc = 0; counter > 0 && rc == 0; counter--) { > pthread_mutex_lock(res->mad_buffer_mutex); > res->mad_buffer->mad_hdr.base_version = 0; // flag that the buffer is empty > pthread_mutex_unlock(res->mad_buffer_mutex); > @@ -640,10 +640,9 @@ static int register_to_trap(struct sync_resources *sync_res, > } > pthread_mutex_unlock(res->mad_buffer_mutex); > } while (rc == 2); // while old response. > + } > > - } while (rc == 0 && ++counter < 3); > - > - if (counter==3) { > + if (counter == 0) { > pr_err("No response to inform info registration\n"); > return -EAGAIN; > } > Reviewed-by: Hal Rosenstock <hal@xxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html