summary refs log tree commit diff
path: root/net/atm
diff options
context:
space:
mode:
authorDaniel Walker <dwalker@mvista.com>2007-02-05 18:04:06 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2007-02-08 12:38:53 -0800
commit84ff602efba2664762070add0600aa5c870a2659 (patch)
treec4ca2f4acb4210edce543e677a7308de6ee4211c /net/atm
parentf5a6e01c093ca60c0cab15c47c8e7e199fbbc9e6 (diff)
downloadlinux-84ff602efba2664762070add0600aa5c870a2659.tar.gz
[ATM]: Fix for crash in adummy_init()
This was reported by Ingo Molnar here,

http://lkml.org/lkml/2006/12/18/119

The problem is that adummy_init() depends on atm_init() , but adummy_init()
is called first.

So I put atm_init() into subsys_initcall which seems appropriate, and it
will still get module_init() if it becomes a module.

Interesting to note that you could crash your system here if you just load
the modules in the wrong order.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/atm')
-rw-r--r--net/atm/common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/atm/common.c b/net/atm/common.c
index fbabff494468..a2878e92c3ab 100644
--- a/net/atm/common.c
+++ b/net/atm/common.c
@@ -816,7 +816,8 @@ static void __exit atm_exit(void)
 	proto_unregister(&vcc_proto);
 }
 
-module_init(atm_init);
+subsys_initcall(atm_init);
+
 module_exit(atm_exit);
 
 MODULE_LICENSE("GPL");