diff options
author | David Daney <ddaney@caviumnetworks.com> | 2010-06-16 15:00:28 -0700 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-07-26 19:08:16 +0100 |
commit | 1ed845375b1f2938acc4496a186e180892b00c71 (patch) | |
tree | fc310af942e270725f59bfb3d6c07a574905d27f /arch | |
parent | 57d15018aa48ecc5fafef3374dcebcf0bbbfa764 (diff) | |
download | op-kernel-dev-1ed845375b1f2938acc4496a186e180892b00c71.zip op-kernel-dev-1ed845375b1f2938acc4496a186e180892b00c71.tar.gz |
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')
-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 6c6ee94..e5cdfd6 100644 --- a/arch/mips/kernel/vdso.c +++ b/arch/mips/kernel/vdso.c @@ -63,7 +63,7 @@ static int __init init_vdso(void) return 0; } -device_initcall(init_vdso); +subsys_initcall(init_vdso); static unsigned long vdso_addr(unsigned long start) { |