diff --git a/[refs] b/[refs] index 7a161b6dbd06..30d33ea09eb6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6574df9a89f9f7da3a4e5cee7633d430319d3350 +refs/heads/master: 759af00ebef858015eb68876ac1f383bcb6a1774 diff --git a/trunk/net/sctp/output.c b/trunk/net/sctp/output.c index c3f417f7ec6e..73639355157e 100644 --- a/trunk/net/sctp/output.c +++ b/trunk/net/sctp/output.c @@ -324,14 +324,16 @@ sctp_xmit_t sctp_packet_append_chunk(struct sctp_packet *packet, switch (chunk->chunk_hdr->type) { case SCTP_CID_DATA: retval = sctp_packet_append_data(packet, chunk); + if (SCTP_XMIT_OK != retval) + goto finish; /* Disallow SACK bundling after DATA. */ packet->has_sack = 1; /* Disallow AUTH bundling after DATA */ packet->has_auth = 1; /* Let it be knows that packet has DATA in it */ packet->has_data = 1; - if (SCTP_XMIT_OK != retval) - goto finish; + /* timestamp the chunk for rtx purposes */ + chunk->sent_at = jiffies; break; case SCTP_CID_COOKIE_ECHO: packet->has_cookie_echo = 1; @@ -470,7 +472,6 @@ int sctp_packet_transmit(struct sctp_packet *packet) } else chunk->resent = 1; - chunk->sent_at = jiffies; has_data = 1; }