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.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 2bf8ec92dde4..e1849f3714ad 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -1263,7 +1263,7 @@ static struct sctp_transport *sctp_trans_elect_best(struct sctp_transport *curr,
1263 if (score_curr > score_best) 1263 if (score_curr > score_best)
1264 return curr; 1264 return curr;
1265 else if (score_curr == score_best) 1265 else if (score_curr == score_best)
1266 return sctp_trans_elect_tie(curr, best); 1266 return sctp_trans_elect_tie(best, curr);
1267 else 1267 else
1268 return best; 1268 return best;
1269} 1269}
@@ -1406,7 +1406,8 @@ void sctp_assoc_sync_pmtu(struct sock *sk, struct sctp_association *asoc)
1406 list_for_each_entry(t, &asoc->peer.transport_addr_list, 1406 list_for_each_entry(t, &asoc->peer.transport_addr_list,
1407 transports) { 1407 transports) {
1408 if (t->pmtu_pending && t->dst) { 1408 if (t->pmtu_pending && t->dst) {
1409 sctp_transport_update_pmtu(sk, t, dst_mtu(t->dst)); 1409 sctp_transport_update_pmtu(sk, t,
1410 WORD_TRUNC(dst_mtu(t->dst)));
1410 t->pmtu_pending = 0; 1411 t->pmtu_pending = 0;
1411 } 1412 }
1412 if (!pmtu || (t->pathmtu < pmtu)) 1413 if (!pmtu || (t->pathmtu < pmtu))
@@ -1493,7 +1494,7 @@ void sctp_assoc_rwnd_increase(struct sctp_association *asoc, unsigned int len)
1493 1494
1494 asoc->peer.sack_needed = 0; 1495 asoc->peer.sack_needed = 0;
1495 1496
1496 sctp_outq_tail(&asoc->outqueue, sack); 1497 sctp_outq_tail(&asoc->outqueue, sack, GFP_ATOMIC);
1497 1498
1498 /* Stop the SACK timer. */ 1499 /* Stop the SACK timer. */
1499 timer = &asoc->timers[SCTP_EVENT_TIMEOUT_SACK]; 1500 timer = &asoc->timers[SCTP_EVENT_TIMEOUT_SACK];