aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2007-09-25 22:16:28 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:52:14 -0400
commitde3cb747ffac5f2a4a6bb156e7e2fd5229e688e5 (patch)
treefe79764b8093843934c9b9f82f573e7a92cef406 /net/core
parent556829657397b9b05baec6691ead4e22ee8d1567 (diff)
[NET]: Dynamically allocate the loopback device, part 1.
This patch replaces all occurences to the static variable loopback_dev to a pointer loopback_dev. That provides the mindless, trivial, uninteressting change part for the dynamic allocation for the loopback. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Acked-By: Kirill Korotaev <dev@sw.ru> Acked-by: Benjamin Thery <benjamin.thery@bull.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dst.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/core/dst.c b/net/core/dst.c
index 38c741ac5d0..ad5ffa19d80 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -278,13 +278,13 @@ static inline void dst_ifdown(struct dst_entry *dst, struct net_device *dev,
278 if (!unregister) { 278 if (!unregister) {
279 dst->input = dst->output = dst_discard; 279 dst->input = dst->output = dst_discard;
280 } else { 280 } else {
281 dst->dev = &loopback_dev; 281 dst->dev = loopback_dev;
282 dev_hold(&loopback_dev); 282 dev_hold(dst->dev);
283 dev_put(dev); 283 dev_put(dev);
284 if (dst->neighbour && dst->neighbour->dev == dev) { 284 if (dst->neighbour && dst->neighbour->dev == dev) {
285 dst->neighbour->dev = &loopback_dev; 285 dst->neighbour->dev = loopback_dev;
286 dev_put(dev); 286 dev_put(dev);
287 dev_hold(&loopback_dev); 287 dev_hold(dst->neighbour->dev);
288 } 288 }
289 } 289 }
290} 290}