summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2007-12-11 11:00:30 +0100
committerDavid S. Miller <davem@davemloft.net>2008-01-28 23:57:05 +0100
commit64b7d96167977850f4a24e52dd0a76b03c6542cf (patch)
treec3d23f90517d340ea827cfd1066a8543b95963cb /net/core
parent[IPSEC]: Add xfrm_input_state helper (diff)
downloadlinux-64b7d96167977850f4a24e52dd0a76b03c6542cf.tar.xz
linux-64b7d96167977850f4a24e52dd0a76b03c6542cf.zip
[NET]: dst_ifdown() cleanup
This cleanup shrinks size of net/core/dst.o on i386 from 1299 to 1289 bytes. (This is because dev_hold()/dev_put() are doing atomic_inc()/atomic_dec() and force compiler to re-evaluate memory contents.) Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dst.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/dst.c b/net/core/dst.c
index 5c6cfc4e7fdb..7eceebaabaaa 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -284,8 +284,8 @@ static inline void dst_ifdown(struct dst_entry *dst, struct net_device *dev,
dev_put(dev);
if (dst->neighbour && dst->neighbour->dev == dev) {
dst->neighbour->dev = dst->dev;
+ dev_hold(dst->dev);
dev_put(dev);
- dev_hold(dst->neighbour->dev);
}
}
}