diff options
author | Daniel Walker <dwalker@mvista.com> | 2007-02-05 18:04:06 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-02-08 12:38:53 -0800 |
commit | 84ff602efba2664762070add0600aa5c870a2659 (patch) | |
tree | c4ca2f4acb4210edce543e677a7308de6ee4211c /net/atm/common.c | |
parent | f5a6e01c093ca60c0cab15c47c8e7e199fbbc9e6 (diff) | |
download | lwn-84ff602efba2664762070add0600aa5c870a2659.tar.gz lwn-84ff602efba2664762070add0600aa5c870a2659.zip |
[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/common.c')
-rw-r--r-- | net/atm/common.c | 3 |
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"); |