From a50163718797425953245425fbb81d8d25c9afb8 Mon Sep 17 00:00:00 2001 From: "Denis V. Lunev" Date: Thu, 3 Apr 2008 13:33:00 -0700 Subject: [PATCH] --- yaml --- r: 88177 b: refs/heads/master c: 84f59370c519449c70dcc813b050f5cbbf0098e7 h: refs/heads/master i: 88175: 50f9156b663916959eab3984ac991b237db48f04 v: v3 --- [refs] | 2 +- trunk/net/ipv6/anycast.c | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 5ca14e746111..4c741df226d3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eb867579311a9c1e998d6911af056772c400122a +refs/heads/master: 84f59370c519449c70dcc813b050f5cbbf0098e7 diff --git a/trunk/net/ipv6/anycast.c b/trunk/net/ipv6/anycast.c index 9c7f83fbc3a1..e5f56c953b58 100644 --- a/trunk/net/ipv6/anycast.c +++ b/trunk/net/ipv6/anycast.c @@ -334,9 +334,7 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr) idev->ac_list = aca; write_unlock_bh(&idev->lock); - dst_hold(&rt->u.dst); - if (ip6_ins_rt(rt)) - dst_release(&rt->u.dst); + ip6_ins_rt(rt); addrconf_join_solict(dev, &aca->aca_addr); @@ -378,10 +376,7 @@ int __ipv6_dev_ac_dec(struct inet6_dev *idev, struct in6_addr *addr) addrconf_leave_solict(idev, &aca->aca_addr); dst_hold(&aca->aca_rt->u.dst); - if (ip6_del_rt(aca->aca_rt)) - dst_free(&aca->aca_rt->u.dst); - else - dst_release(&aca->aca_rt->u.dst); + ip6_del_rt(aca->aca_rt); aca_put(aca); return 0;