[PATCH] module_subsys: initialize earlier

From: Mark Huang
Date: Wed Jul 26 2006 - 18:39:54 EST


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.

Signed-off-by: Mark Huang <mlhuang@xxxxxxxxxxxxxxxx>

--- 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);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/