summaryrefslogtreecommitdiffstats
path: root/net/core/dst.c
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2007-12-11 02:00:30 -0800
committerDavid S. Miller <davem@davemloft.net>2008-01-28 14:57:05 -0800
commit64b7d96167977850f4a24e52dd0a76b03c6542cf (patch)
treec3d23f90517d340ea827cfd1066a8543b95963cb /net/core/dst.c
parent005011211f559113686938c2c252b8ee1ab855b5 (diff)
downloadlinux-64b7d96167977850f4a24e52dd0a76b03c6542cf.tar.gz
linux-64b7d96167977850f4a24e52dd0a76b03c6542cf.tar.bz2
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/dst.c')
-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);
}
}
}