staging: irda: fix init level for irda core
authorGreg KH <gregkh@linuxfoundation.org>
Wed, 30 Aug 2017 11:16:49 +0000 (13:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Aug 2017 17:15:12 +0000 (10:15 -0700)
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 <fengguang.wu@intel.com>
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/staging/irda/net/irmod.c

index c5e35b85c477c2c80a5a9b4398c79c4359cc7921..4319f4ff66b0d06b630ff83dc2b0ed05b94c0098 100644 (file)
@@ -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 <dagb@cs.uit.no> & Jean Tourrilhes <jt@hpl.hp.com>");