|
@@ -2715,7 +2715,9 @@ static int addrconf_ifdown(struct net_device *dev, int how)
|
|
}
|
|
}
|
|
|
|
|
|
__ipv6_ifa_notify(RTM_DELADDR, ifa);
|
|
__ipv6_ifa_notify(RTM_DELADDR, ifa);
|
|
- atomic_notifier_call_chain(&inet6addr_chain, NETDEV_DOWN, ifa);
|
|
|
|
|
|
+ if (ifa->dead)
|
|
|
|
+ atomic_notifier_call_chain(&inet6addr_chain,
|
|
|
|
+ NETDEV_DOWN, ifa);
|
|
in6_ifa_put(ifa);
|
|
in6_ifa_put(ifa);
|
|
|
|
|
|
write_lock_bh(&idev->lock);
|
|
write_lock_bh(&idev->lock);
|