commit f8d960524 fix the 0 peer.rwnd issue in SHUTDOWN_PENDING state through not reseting the overall_error_count when receive a heartbeat, but the same issue also exists in SHUTDOWN_RECEIVE state.
so we change the condition to state < SCTP_STATE_SHUTDOWN_PENDING to reset the overall_error_count when receive a heartbeat, which can avoid the issue happen in SCTP_STATE_SHUTDOWN_RECEIVE. as to SCTP_STATE_SHUTDOWN_ACK_SENT and SCTP_STATE_SHUTDOWN_SENT state, with this patch, it will not be affected by the heartbeat, cause these two states have been taken charge of by t2 timer. Fixes: f8d960524 ("sctp: Enforce retransmission limit during shutdown") Signed-off-by: Xin Long <lucien....@gmail.com> --- net/sctp/sm_sideeffect.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c index fef2acd..85e6f03 100644 --- a/net/sctp/sm_sideeffect.c +++ b/net/sctp/sm_sideeffect.c @@ -702,7 +702,7 @@ static void sctp_cmd_transport_on(sctp_cmd_seq_t *cmds, * outstanding data and rely on the retransmission limit be reached * to shutdown the association. */ - if (t->asoc->state != SCTP_STATE_SHUTDOWN_PENDING) + if (t->asoc->state < SCTP_STATE_SHUTDOWN_PENDING) t->asoc->overall_error_count = 0; /* Clear the hb_sent flag to signal that we had a good -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html