aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/associola.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-05-02 21:43:40 -0700
committerDavid S. Miller <davem@davemloft.net>2010-05-02 22:02:06 -0700
commit7ef527377b88ff05fb122a47619ea506c631c914 (patch)
tree2c2e774527d5f591b975834f43e8c6fd12fb38f2 /net/sctp/associola.c
parent47d29646a2c1c147d8a7598aeac2c87dd71ed638 (diff)
parent1183f3838c588545592c042c0ce15015661ce7f2 (diff)
downloadkernel_samsung_crespo-7ef527377b88ff05fb122a47619ea506c631c914.zip
kernel_samsung_crespo-7ef527377b88ff05fb122a47619ea506c631c914.tar.gz
kernel_samsung_crespo-7ef527377b88ff05fb122a47619ea506c631c914.tar.bz2
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/sctp/associola.c')
-rw-r--r--net/sctp/associola.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index df5abbf..99c93ee 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -1194,8 +1194,10 @@ void sctp_assoc_update(struct sctp_association *asoc,
/* Remove any peer addresses not present in the new association. */
list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
trans = list_entry(pos, struct sctp_transport, transports);
- if (!sctp_assoc_lookup_paddr(new, &trans->ipaddr))
- sctp_assoc_del_peer(asoc, &trans->ipaddr);
+ if (!sctp_assoc_lookup_paddr(new, &trans->ipaddr)) {
+ sctp_assoc_rm_peer(asoc, trans);
+ continue;
+ }
if (asoc->state >= SCTP_STATE_ESTABLISHED)
sctp_transport_reset(trans);