diff --git a/[refs] b/[refs] index e36c6ee95b87..158cb6fce57f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c17b02b38aa99ef806c7066ef19a6f51122304f1 +refs/heads/master: bd69b981a354be40cc709f3046f0c56f00da6163 diff --git a/trunk/net/sctp/outqueue.c b/trunk/net/sctp/outqueue.c index abfc0b8dee74..16d451a62b3f 100644 --- a/trunk/net/sctp/outqueue.c +++ b/trunk/net/sctp/outqueue.c @@ -854,6 +854,12 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout) if (status != SCTP_XMIT_OK) { /* put the chunk back */ list_add(&chunk->list, &q->control_chunk_list); + } else if (chunk->chunk_hdr->type == SCTP_CID_FWD_TSN) { + /* PR-SCTP C5) If a FORWARD TSN is sent, the + * sender MUST assure that at least one T3-rtx + * timer is running. + */ + sctp_transport_reset_timers(transport, 0); } break;