From: David S. Miller <davem@davemloft.net>
Date: Fri, 13 Apr 2012 18:56:22 +0000 (-0700)
Subject: sparc64: Fix bootup crash on sun4v.
X-Git-Tag: firefly_0821_release~7541^2~1386
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=16f61cb9110047912a6feb40676b10af1a973a1f;p=firefly-linux-kernel-4.4.55.git

sparc64: Fix bootup crash on sun4v.

commit 9e0daff30fd7ecf698e5d20b0fa7f851e427cca5 upstream.

The DS driver registers as a subsys_initcall() but this can be too
early, in particular this risks registering before we've had a chance
to allocate and setup module_kset in kernel/params.c which is
performed also as a subsyts_initcall().

Register DS using device_initcall() insteal.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---

diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
index 7429b47c3aca..dcae702fc1f3 100644
--- a/arch/sparc/kernel/ds.c
+++ b/arch/sparc/kernel/ds.c
@@ -1269,4 +1269,4 @@ static int __init ds_init(void)
 	return vio_register_driver(&ds_driver);
 }
 
-subsys_initcall(ds_init);
+fs_initcall(ds_init);