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