diff options
author | Daniel Lezcano <dlezcano@fr.ibm.com> | 2007-09-25 22:16:28 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:52:14 -0400 |
commit | de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5 (patch) | |
tree | fe79764b8093843934c9b9f82f573e7a92cef406 /net/core | |
parent | 556829657397b9b05baec6691ead4e22ee8d1567 (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.c | 8 |
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 | } |