diff options
author | David Daney <ddaney@caviumnetworks.com> | 2010-06-16 18:00:28 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-07-26 14:08:16 -0400 |
commit | 1ed845375b1f2938acc4496a186e180892b00c71 (patch) | |
tree | fc310af942e270725f59bfb3d6c07a574905d27f /arch/mips | |
parent | 57d15018aa48ecc5fafef3374dcebcf0bbbfa764 (diff) |
MIPS: Make init_vdso a subsys_initcall.
Quoting from Jiri Slaby's patch of a similar nature for x86:
When initrd is in use and a driver does request_module() in its
module_init (i.e. __initcall or device_initcall), a modprobe
process is created with VDSO mapping. But VDSO is inited even in
__initcall, i.e. on the same level (at the same time), so it may
not be inited yet (link order matters).
Move init_vdso up to subsys_initcall to avoid the issue.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Cc: David Daney <ddaney@caviumnetworks.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Patchwork: http://patchwork.linux-mips.org/patch/1386/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/kernel/vdso.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/vdso.c b/arch/mips/kernel/vdso.c index 6c6ee94378d5..e5cdfd603f8f 100644 --- a/arch/mips/kernel/vdso.c +++ b/arch/mips/kernel/vdso.c | |||
@@ -63,7 +63,7 @@ static int __init init_vdso(void) | |||
63 | 63 | ||
64 | return 0; | 64 | return 0; |
65 | } | 65 | } |
66 | device_initcall(init_vdso); | 66 | subsys_initcall(init_vdso); |
67 | 67 | ||
68 | static unsigned long vdso_addr(unsigned long start) | 68 | static unsigned long vdso_addr(unsigned long start) |
69 | { | 69 | { |