summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorDavid Daney <ddaney@caviumnetworks.com>2010-06-16 15:00:28 -0700
committerRalf Baechle <ralf@linux-mips.org>2010-07-26 19:08:16 +0100
commit1ed845375b1f2938acc4496a186e180892b00c71 (patch)
treefc310af942e270725f59bfb3d6c07a574905d27f /arch
parent57d15018aa48ecc5fafef3374dcebcf0bbbfa764 (diff)
downloadlinux-3.10-1ed845375b1f2938acc4496a186e180892b00c71.tar.gz
linux-3.10-1ed845375b1f2938acc4496a186e180892b00c71.tar.bz2
linux-3.10-1ed845375b1f2938acc4496a186e180892b00c71.zip
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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/vdso.c b/arch/mips/kernel/vdso.c
index 6c6ee94378d..e5cdfd603f8 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)
{