aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/sm_sideeffect.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/sm_sideeffect.c')
-rw-r--r--net/sctp/sm_sideeffect.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
index e1c5cddf32da..3d9213dfaa10 100644
--- a/net/sctp/sm_sideeffect.c
+++ b/net/sctp/sm_sideeffect.c
@@ -830,11 +830,13 @@ static void sctp_cmd_del_non_primary(struct sctp_association *asoc)
830 struct sctp_transport *t; 830 struct sctp_transport *t;
831 struct list_head *pos; 831 struct list_head *pos;
832 struct list_head *temp; 832 struct list_head *temp;
833 union sctp_addr tmp;
834 flip_to_n(&tmp, &asoc->peer.primary_addr);
833 835
834 list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) { 836 list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
835 t = list_entry(pos, struct sctp_transport, transports); 837 t = list_entry(pos, struct sctp_transport, transports);
836 if (!sctp_cmp_addr_exact(&t->ipaddr_h, 838 if (!sctp_cmp_addr_exact(&t->ipaddr,
837 &asoc->peer.primary_addr)) { 839 &tmp)) {
838 sctp_assoc_del_peer(asoc, &t->ipaddr_h); 840 sctp_assoc_del_peer(asoc, &t->ipaddr_h);
839 } 841 }
840 } 842 }