aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sctp/associola.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 104fae489ad4..a88b8524846e 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -1356,14 +1356,11 @@ static void sctp_select_active_and_retran_path(struct sctp_association *asoc)
1356 trans_sec = trans_pri; 1356 trans_sec = trans_pri;
1357 1357
1358 /* If we failed to find a usable transport, just camp on the 1358 /* If we failed to find a usable transport, just camp on the
1359 * primary or retran, even if they are inactive, if possible 1359 * active or pick a PF iff it's the better choice.
1360 * pick a PF iff it's the better choice.
1361 */ 1360 */
1362 if (trans_pri == NULL) { 1361 if (trans_pri == NULL) {
1363 trans_pri = sctp_trans_elect_best(asoc->peer.primary_path, 1362 trans_pri = sctp_trans_elect_best(asoc->peer.active_path, trans_pf);
1364 asoc->peer.retran_path); 1363 trans_sec = trans_pri;
1365 trans_pri = sctp_trans_elect_best(trans_pri, trans_pf);
1366 trans_sec = asoc->peer.primary_path;
1367 } 1364 }
1368 1365
1369 /* Set the active and retran transports. */ 1366 /* Set the active and retran transports. */