ALSA: seq: Fix init order of snd_seq_device stuff
authorTakashi Iwai <tiwai@suse.de>
Wed, 11 Mar 2015 11:50:15 +0000 (12:50 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 11 Mar 2015 11:53:52 +0000 (12:53 +0100)
When the sequencer driver is built in kernel, it may panic at boot
because of the uninitialized snd_seq_bus_type.  Initialize it properly
via subsys_initcall() instead of module_init() to assure that the bus
is registered beforehand.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Fixes: 7c37ae5c625a ('ALSA: seq: Rewrite sequencer device binding with standard bus')
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/seq/seq_device.c

index 355b342..d99f99d 100644 (file)
@@ -311,5 +311,5 @@ static void __exit alsa_seq_device_exit(void)
        bus_unregister(&snd_seq_bus_type);
 }
 
-module_init(alsa_seq_device_init)
+subsys_initcall(alsa_seq_device_init)
 module_exit(alsa_seq_device_exit)