diff options
Diffstat (limited to 'net/sctp')
-rw-r--r-- | net/sctp/associola.c | 5 |
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 | } |