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.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 5f1fb8bd862d..1a21c571aa03 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -569,6 +569,8 @@ void sctp_assoc_rm_peer(struct sctp_association *asoc,
569 sctp_assoc_set_primary(asoc, transport); 569 sctp_assoc_set_primary(asoc, transport);
570 if (asoc->peer.active_path == peer) 570 if (asoc->peer.active_path == peer)
571 asoc->peer.active_path = transport; 571 asoc->peer.active_path = transport;
572 if (asoc->peer.retran_path == peer)
573 asoc->peer.retran_path = transport;
572 if (asoc->peer.last_data_from == peer) 574 if (asoc->peer.last_data_from == peer)
573 asoc->peer.last_data_from = transport; 575 asoc->peer.last_data_from = transport;
574 576
@@ -1089,7 +1091,6 @@ static void sctp_assoc_bh_rcv(struct work_struct *work)
1089 base.inqueue.immediate); 1091 base.inqueue.immediate);
1090 struct sctp_endpoint *ep; 1092 struct sctp_endpoint *ep;
1091 struct sctp_chunk *chunk; 1093 struct sctp_chunk *chunk;
1092 struct sock *sk;
1093 struct sctp_inq *inqueue; 1094 struct sctp_inq *inqueue;
1094 int state; 1095 int state;
1095 sctp_subtype_t subtype; 1096 sctp_subtype_t subtype;
@@ -1097,7 +1098,6 @@ static void sctp_assoc_bh_rcv(struct work_struct *work)
1097 1098
1098 /* The association should be held so we should be safe. */ 1099 /* The association should be held so we should be safe. */
1099 ep = asoc->ep; 1100 ep = asoc->ep;
1100 sk = asoc->base.sk;
1101 1101
1102 inqueue = &asoc->base.inqueue; 1102 inqueue = &asoc->base.inqueue;
1103 sctp_association_hold(asoc); 1103 sctp_association_hold(asoc);
@@ -1325,6 +1325,8 @@ void sctp_assoc_update_retran_path(struct sctp_association *asoc)
1325 1325
1326 if (t) 1326 if (t)
1327 asoc->peer.retran_path = t; 1327 asoc->peer.retran_path = t;
1328 else
1329 t = asoc->peer.retran_path;
1328 1330
1329 SCTP_DEBUG_PRINTK_IPADDR("sctp_assoc_update_retran_path:association" 1331 SCTP_DEBUG_PRINTK_IPADDR("sctp_assoc_update_retran_path:association"
1330 " %p addr: ", 1332 " %p addr: ",
@@ -1595,7 +1597,7 @@ void sctp_assoc_clean_asconf_ack_cache(const struct sctp_association *asoc)
1595 struct sctp_chunk *ack; 1597 struct sctp_chunk *ack;
1596 struct sctp_chunk *tmp; 1598 struct sctp_chunk *tmp;
1597 1599
1598 /* We can remove all the entries from the queue upto 1600 /* We can remove all the entries from the queue up to
1599 * the "Peer-Sequence-Number". 1601 * the "Peer-Sequence-Number".
1600 */ 1602 */
1601 list_for_each_entry_safe(ack, tmp, &asoc->asconf_ack_list, 1603 list_for_each_entry_safe(ack, tmp, &asoc->asconf_ack_list,