summaryrefslogtreecommitdiffstats
path: root/net/core/dst.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2011-08-04 09:09:27 +0200
committerIngo Molnar <mingo@elte.hu>2011-08-04 09:09:27 +0200
commitd7619fe39d9769b4d4545cc511c891deea18ae08 (patch)
tree0a902533414001075b2245825e145cc2e35ce985 /net/core/dst.c
parent9ea71503a8ed9184d2d0b8ccc4d269d05f7940ae (diff)
parented8f37370d83e695c0a4fa5d5fc7a83ecb947526 (diff)
Merge branch 'linus' into core/urgent
Diffstat (limited to 'net/core/dst.c')
-rw-r--r--net/core/dst.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/net/core/dst.c b/net/core/dst.c
index 6135f367169..14b33baf073 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -171,8 +171,7 @@ void *dst_alloc(struct dst_ops *ops, struct net_device *dev,
dst_init_metrics(dst, dst_default_metrics, true);
dst->expires = 0UL;
dst->path = dst;
- dst->neighbour = NULL;
- dst->hh = NULL;
+ dst->_neighbour = NULL;
#ifdef CONFIG_XFRM
dst->xfrm = NULL;
#endif
@@ -226,21 +225,15 @@ struct dst_entry *dst_destroy(struct dst_entry * dst)
{
struct dst_entry *child;
struct neighbour *neigh;
- struct hh_cache *hh;
smp_rmb();
again:
- neigh = dst->neighbour;
- hh = dst->hh;
+ neigh = dst->_neighbour;
child = dst->child;
- dst->hh = NULL;
- if (hh)
- hh_cache_put(hh);
-
if (neigh) {
- dst->neighbour = NULL;
+ dst->_neighbour = NULL;
neigh_release(neigh);
}
@@ -370,8 +363,8 @@ static void dst_ifdown(struct dst_entry *dst, struct net_device *dev,
dst->dev = dev_net(dst->dev)->loopback_dev;
dev_hold(dst->dev);
dev_put(dev);
- if (dst->neighbour && dst->neighbour->dev == dev) {
- dst->neighbour->dev = dst->dev;
+ if (dst->_neighbour && dst->_neighbour->dev == dev) {
+ dst->_neighbour->dev = dst->dev;
dev_hold(dst->dev);
dev_put(dev);
}