summaryrefslogtreecommitdiff
path: root/drivers/net/loopback.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-11-07 22:52:14 -0800
committerDavid S. Miller <davem@davemloft.net>2008-11-07 22:52:14 -0800
commit3d8160b1493bcadca74fbb635d79b3928b8999cf (patch)
tree901a01cd2170f4eddaba38e05b17683acb9cc0de /drivers/net/loopback.c
parent167c6274c30d17c41742096d1a12c32bd3b7e366 (diff)
downloadkernel-common-3d8160b1493bcadca74fbb635d79b3928b8999cf.tar.gz
kernel-common-3d8160b1493bcadca74fbb635d79b3928b8999cf.tar.bz2
kernel-common-3d8160b1493bcadca74fbb635d79b3928b8999cf.zip
Revert "net: Guaranetee the proper ordering of the loopback device."
This reverts commit ae33bc40c0d96d02f51a996482ea7e41c5152695.
Diffstat (limited to 'drivers/net/loopback.c')
-rw-r--r--drivers/net/loopback.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index c4516b580ba5..91d08585a6d8 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -204,8 +204,17 @@ static __net_exit void loopback_net_exit(struct net *net)
unregister_netdev(dev);
}
-/* Registered in net/core/dev.c */
-struct pernet_operations __net_initdata loopback_net_ops = {
+static struct pernet_operations __net_initdata loopback_net_ops = {
.init = loopback_net_init,
.exit = loopback_net_exit,
};
+
+static int __init loopback_init(void)
+{
+ return register_pernet_device(&loopback_net_ops);
+}
+
+/* Loopback is special. It should be initialized before any other network
+ * device and network subsystem.
+ */
+fs_initcall(loopback_init);