aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/associola.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/associola.c')
-rw-r--r--net/sctp/associola.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 95238284c422..6625b15ab81a 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -291,7 +291,7 @@ static struct sctp_association *sctp_association_init(struct sctp_association *a
291 return asoc; 291 return asoc;
292 292
293stream_free: 293stream_free:
294 sctp_stream_free(asoc->stream); 294 sctp_stream_free(&asoc->stream);
295fail_init: 295fail_init:
296 sock_put(asoc->base.sk); 296 sock_put(asoc->base.sk);
297 sctp_endpoint_put(asoc->ep); 297 sctp_endpoint_put(asoc->ep);
@@ -365,7 +365,7 @@ void sctp_association_free(struct sctp_association *asoc)
365 sctp_tsnmap_free(&asoc->peer.tsn_map); 365 sctp_tsnmap_free(&asoc->peer.tsn_map);
366 366
367 /* Free stream information. */ 367 /* Free stream information. */
368 sctp_stream_free(asoc->stream); 368 sctp_stream_free(&asoc->stream);
369 369
370 if (asoc->strreset_chunk) 370 if (asoc->strreset_chunk)
371 sctp_chunk_free(asoc->strreset_chunk); 371 sctp_chunk_free(asoc->strreset_chunk);
@@ -1151,7 +1151,7 @@ void sctp_assoc_update(struct sctp_association *asoc,
1151 /* Reinitialize SSN for both local streams 1151 /* Reinitialize SSN for both local streams
1152 * and peer's streams. 1152 * and peer's streams.
1153 */ 1153 */
1154 sctp_stream_clear(asoc->stream); 1154 sctp_stream_clear(&asoc->stream);
1155 1155
1156 /* Flush the ULP reassembly and ordered queue. 1156 /* Flush the ULP reassembly and ordered queue.
1157 * Any data there will now be stale and will 1157 * Any data there will now be stale and will
@@ -1177,11 +1177,8 @@ void sctp_assoc_update(struct sctp_association *asoc,
1177 asoc->ctsn_ack_point = asoc->next_tsn - 1; 1177 asoc->ctsn_ack_point = asoc->next_tsn - 1;
1178 asoc->adv_peer_ack_point = asoc->ctsn_ack_point; 1178 asoc->adv_peer_ack_point = asoc->ctsn_ack_point;
1179 1179
1180 if (sctp_state(asoc, COOKIE_WAIT)) { 1180 if (sctp_state(asoc, COOKIE_WAIT))
1181 sctp_stream_free(asoc->stream); 1181 sctp_stream_update(&asoc->stream, &new->stream);
1182 asoc->stream = new->stream;
1183 new->stream = NULL;
1184 }
1185 1182
1186 if (!asoc->assoc_id) { 1183 if (!asoc->assoc_id) {
1187 /* get a new association id since we don't have one 1184 /* get a new association id since we don't have one