diff options
Diffstat (limited to 'net/sctp/sm_statefuns.c')
| -rw-r--r-- | net/sctp/sm_statefuns.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index abf601a1b84..24b2cd55563 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c @@ -3676,8 +3676,14 @@ sctp_disposition_t sctp_sf_do_asconf_ack(const struct sctp_endpoint *ep,  				SCTP_TO(SCTP_EVENT_TIMEOUT_T4_RTO));  		if (!sctp_process_asconf_ack((struct sctp_association *)asoc, -					     asconf_ack)) +					     asconf_ack)) { +			/* Successfully processed ASCONF_ACK.  We can +			 * release the next asconf if we have one. +			 */ +			sctp_add_cmd_sf(commands, SCTP_CMD_SEND_NEXT_ASCONF, +					SCTP_NULL());  			return SCTP_DISPOSITION_CONSUME; +		}  		abort = sctp_make_abort(asoc, asconf_ack,  					sizeof(sctp_errhdr_t));  |