diff options
-rw-r--r-- | net/ipv6/addrconf.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index a0175edb6589..7cba8845242f 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -2715,7 +2715,9 @@ static int addrconf_ifdown(struct net_device *dev, int how) | |||
2715 | } | 2715 | } |
2716 | 2716 | ||
2717 | __ipv6_ifa_notify(RTM_DELADDR, ifa); | 2717 | __ipv6_ifa_notify(RTM_DELADDR, ifa); |
2718 | atomic_notifier_call_chain(&inet6addr_chain, NETDEV_DOWN, ifa); | 2718 | if (ifa->dead) |
2719 | atomic_notifier_call_chain(&inet6addr_chain, | ||
2720 | NETDEV_DOWN, ifa); | ||
2719 | in6_ifa_put(ifa); | 2721 | in6_ifa_put(ifa); |
2720 | 2722 | ||
2721 | write_lock_bh(&idev->lock); | 2723 | write_lock_bh(&idev->lock); |