When moving the IRDA code out of net/ into drivers/staging/irda/net, the link order changes when IRDA is built into the kernel. That causes a kernel crash at boot time as netfilter isn't initialized yet.
To fix this, move the init call level of the irda core to be device_initcall() as the link order keeps this being initialized at the correct time. Reported-by: kernel test robot <[email protected]> Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> --- v3 - just change the initcall level, works so much simpler, thanks to DaveM for the idea. v2 - don't force irda to be a module, make the Makefiles put irda back where it was before in the link order. drivers/staging/irda/net/irmod.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/irda/net/irmod.c b/drivers/staging/irda/net/irmod.c index c5e35b85c477..4319f4ff66b0 100644 --- a/drivers/staging/irda/net/irmod.c +++ b/drivers/staging/irda/net/irmod.c @@ -190,7 +190,7 @@ static void __exit irda_cleanup(void) * * Jean II */ -subsys_initcall(irda_init); +device_initcall(irda_init); module_exit(irda_cleanup); MODULE_AUTHOR("Dag Brattli <[email protected]> & Jean Tourrilhes <[email protected]>"); -- 2.14.1 _______________________________________________ devel mailing list [email protected] http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
