Message ID | 1315899939.3402.2.camel@snb |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, Sep 13, 2011 at 3:45 PM, Lin Ming <ming.m.lin@intel.com> wrote: > 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 if build-in. > Putting one or two lines of comments into the code would be nicer, otherwise people have to dig git log to see why. ;-) Thanks! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 13 Sep 2011 15:45:39 +0800 Lin Ming <ming.m.lin@intel.com> wrote: > 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 if build-in. > > Signed-off-by: Lin Ming <ming.m.lin@intel.com> > --- > drivers/net/netconsole.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c > index dfc8272..914be29 100644 > --- a/drivers/net/netconsole.c > +++ b/drivers/net/netconsole.c > @@ -799,5 +799,9 @@ static void __exit cleanup_netconsole(void) > } > } > > +#ifdef MODULE > module_init(init_netconsole); > module_exit(cleanup_netconsole); > +#else > +late_initcall(init_netconsole); > +#endif /* !MODULE */ The ifdefs (which should have used CONFIG_MODULE) aren't needed. Because late_initcall() and module_init() are identical if CONFIG_MODULE, and because one day we might want to run the exitcalls for built-in code (UML actually does this at present). -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 2011-09-13 at 15:55 +0800, Américo Wang wrote: > On Tue, Sep 13, 2011 at 3:45 PM, Lin Ming <ming.m.lin@intel.com> wrote: > > 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 if build-in. > > > > Putting one or two lines of comments into the code would > be nicer, otherwise people have to dig git log to see why. ;-) Will add. Thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index dfc8272..914be29 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -799,5 +799,9 @@ static void __exit cleanup_netconsole(void) } } +#ifdef MODULE module_init(init_netconsole); module_exit(cleanup_netconsole); +#else +late_initcall(init_netconsole); +#endif /* !MODULE */
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 if build-in. Signed-off-by: Lin Ming <ming.m.lin@intel.com> --- drivers/net/netconsole.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)