diff options
author | J. Bruce Fields <bfields@redhat.com> | 2011-01-11 10:28:36 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2011-01-11 15:02:19 -0500 |
commit | a2c50f69168deec3f7e47644eb4ef4f8a3ee6910 (patch) | |
tree | 987197653dcdbf3d33a7c678dbef9cc884f36afa /net/ipv6/addrconf.c | |
parent | 8c3df3e58cde676de4df9363c00f37dbfce08e5c (diff) | |
parent | 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5 (diff) | |
download | op-kernel-dev-a2c50f69168deec3f7e47644eb4ef4f8a3ee6910.zip op-kernel-dev-a2c50f69168deec3f7e47644eb4ef4f8a3ee6910.tar.gz |
Merge commit 'v2.6.37' into for-2.6.38-incoming
I made a slight mess of Documentation/filesystems/Locking; resolve
conflicts with upstream before fixing it up.
Diffstat (limited to 'net/ipv6/addrconf.c')
-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 93b7a93..848b355 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2669,7 +2669,9 @@ static int addrconf_ifdown(struct net_device *dev, int how) ASSERT_RTNL(); - rt6_ifdown(net, dev); + /* Flush routes if device is being removed or it is not loopback */ + if (how || !(dev->flags & IFF_LOOPBACK)) + rt6_ifdown(net, dev); neigh_ifdown(&nd_tbl, dev); idev = __in6_dev_get(dev); |