linux-mips
[Top] [All Lists]

[PATCH 2/2] MIPS: Make init_vdso a subsys_initcall.

To: linux-mips@linux-mips.org, ralf@linux-mips.org
Subject: [PATCH 2/2] MIPS: Make init_vdso a subsys_initcall.
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 16 Jun 2010 15:00:28 -0700
Cc: David Daney <ddaney@caviumnetworks.com>, Jiri Slaby <jslaby@suse.cz>
In-reply-to: <1276725628-8572-1-git-send-email-ddaney@caviumnetworks.com>
References: <1276725628-8572-1-git-send-email-ddaney@caviumnetworks.com>
Sender: linux-mips-bounce@linux-mips.org
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>
Cc: Jiri Slaby <jslaby@suse.cz>
---
 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 891c117..7baa0b5 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)
 {
-- 
1.6.6.1


<Prev in Thread] Current Thread [Next in Thread>