netconsole: switch init_netconsole() to late_initcall
authorLin Ming <ming.m.lin@intel.com>
Tue, 20 Sep 2011 19:45:07 +0000 (15:45 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Sep 2011 19:45:07 +0000 (15:45 -0400)
Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
regression that netconsole does not work if netconsole and network
device driver are build into kernel, because netconsole is linked
before network device driver.

Andrew Morton suggested to fix this with initcall ordering.
Fixes it by switching init_netconsole() to late_initcall.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netconsole.c

index dfc82720065ac0d68bb657dbf19150ff7dd4c89e..ed2a3977c6e781feba473d37b96675c421d68b45 100644 (file)
@@ -799,5 +799,11 @@ static void __exit cleanup_netconsole(void)
        }
 }
 
-module_init(init_netconsole);
+/*
+ * Use late_initcall to ensure netconsole is
+ * initialized after network device driver if built-in.
+ *
+ * late_initcall() and module_init() are identical if built as module.
+ */
+late_initcall(init_netconsole);
 module_exit(cleanup_netconsole);