module_subsys: initialize earlier
PATCH 1/1 module_subsys: initialize earlier
Initialize module_subsys earlier (or at least earlier than devices) since it could be used very early in the boot process if kmod loads a module before the device initcalls. Otherwise, kmod will crash in kernel/module.c:mod_sysfs_setup() since the kset in module_subsys is not initialized yet.
I only noticed this problem because occasionally, kmod loads the modules for my SCSI and Ethernet adapters very early, during the boot process itself. I don't quite understand why it loads them sometimes and doesn't load them other times. Or who is telling kmod to do so. Can someone explain?
Please Cc: me on responses, thanks.
--- linux-2.6.18-rc2/kernel/params.c 2006-07-25 16:46:56.000000000 -0400
+++ linux-2.6.18-rc2.sysfs/kernel/params.c 2006-07-26 17:53:51.000000000 -0
400
@@ -690,7 +690,7 @@ static int __init param_sysfs_init(void)
return 0;
}
-__initcall(param_sysfs_init);
+subsys_initcall(param_sysfs_init);
EXPORT_SYMBOL(param_set_byte);
EXPORT_SYMBOL(param_get_byte);