On Thu, Jun 24, 2021 at 11:48:08AM -0400, Xin Long wrote: > @@ -333,13 +328,15 @@ void sctp_transport_pl_recv(struct sctp_transport *t) > t->pl.probe_size += SCTP_PL_MIN_STEP; > if (t->pl.probe_size >= t->pl.probe_high) { > t->pl.probe_high = 0; > + t->pl.raise_count = 0; > t->pl.state = SCTP_PL_COMPLETE; /* Search -> Search Complete */ > > t->pl.probe_size = t->pl.pmtu; > t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); > sctp_assoc_sync_pmtu(t->asoc); > } > - } else if (t->pl.state == SCTP_PL_COMPLETE) { > + } else if (t->pl.state == SCTP_PL_COMPLETE && ++t->pl.raise_count == 30) { Please either break the condition into 2 lines or even in 2 if()s. The ++ operator here can easily go unnoticed otherwise. > + /* Raise probe_size again after 30 * interval in Search Complete */ > t->pl.state = SCTP_PL_SEARCH; /* Search Complete -> Search */ > t->pl.probe_size += SCTP_PL_MIN_STEP; > } > -- > 2.27.0 >