aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv6/addrconf.c4
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);