aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/associola.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index df5abbff63e2..de830c268564 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -762,7 +762,8 @@ struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc,
762 asoc->peer.retran_path = peer; 762 asoc->peer.retran_path = peer;
763 } 763 }
764 764
765 if (asoc->peer.active_path == asoc->peer.retran_path) { 765 if (asoc->peer.active_path == asoc->peer.retran_path &&
766 peer->state != SCTP_UNCONFIRMED) {
766 asoc->peer.retran_path = peer; 767 asoc->peer.retran_path = peer;
767 } 768 }
768 769
@@ -1318,7 +1319,7 @@ void sctp_assoc_update_retran_path(struct sctp_association *asoc)
1318 /* Keep track of the next transport in case 1319 /* Keep track of the next transport in case
1319 * we don't find any active transport. 1320 * we don't find any active transport.
1320 */ 1321 */
1321 if (!next) 1322 if (t->state != SCTP_UNCONFIRMED && !next)
1322 next = t; 1323 next = t;
1323 } 1324 }
1324 } 1325 }