aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sctp/outqueue.c4
-rw-r--r--net/sctp/sm_make_chunk.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index 3c2a281347e1..1bb3c5c35d2a 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -1179,8 +1179,10 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_sackhdr *sack)
1179 tchunk = list_entry(lchunk, struct sctp_chunk, 1179 tchunk = list_entry(lchunk, struct sctp_chunk,
1180 transmitted_list); 1180 transmitted_list);
1181 tsn = ntohl(tchunk->subh.data_hdr->tsn); 1181 tsn = ntohl(tchunk->subh.data_hdr->tsn);
1182 if (TSN_lte(tsn, ctsn)) 1182 if (TSN_lte(tsn, ctsn)) {
1183 list_del_init(&tchunk->transmitted_list);
1183 sctp_chunk_free(tchunk); 1184 sctp_chunk_free(tchunk);
1185 }
1184 } 1186 }
1185 1187
1186 /* ii) Set rwnd equal to the newly received a_rwnd minus the 1188 /* ii) Set rwnd equal to the newly received a_rwnd minus the
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 80b3c4f09e6c..e45be4e3f80d 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -3224,6 +3224,7 @@ int sctp_process_asconf_ack(struct sctp_association *asoc,
3224 } 3224 }
3225 3225
3226 /* Free the cached last sent asconf chunk. */ 3226 /* Free the cached last sent asconf chunk. */
3227 list_del_init(&asconf->transmitted_list);
3227 sctp_chunk_free(asconf); 3228 sctp_chunk_free(asconf);
3228 asoc->addip_last_asconf = NULL; 3229 asoc->addip_last_asconf = NULL;
3229 3230