Re: [ALSA/hda] kernel BUG at drivers/base/driver.c:152!

From: Takashi Iwai
Date: Mon Mar 09 2015 - 08:30:51 EST


At Sat, 7 Mar 2015 18:58:44 +0800,
Fengguang Wu wrote:
>
> Greetings,
>
> 0day kernel testing robot got the below dmesg and the first bad commit is
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/hda-regmap
>
> commit 3103d80b8a89f1797e87d7265f9b389a0db4ccd8
> Author: Takashi Iwai <tiwai@xxxxxxx>
> AuthorDate: Tue Feb 17 21:46:37 2015 +0100
> Commit: Takashi Iwai <tiwai@xxxxxxx>
> CommitDate: Tue Mar 3 14:35:44 2015 +0100
>
> ALSA: hda - Make snd_hda_bus_type public
>
> Define the common hd-audio driver and device types to bind over
> snd_hda_bus_type publicly. This allows to implement other type of
> device and driver code over hd-audio bus.
>
> Now both struct hda_codec and struct hda_codec_driver inherit these
> new struct hdac_device and struct hdac_driver, respectively.
>
> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

Fixed by the patch below now. Thanks!


Takashi

-- 8< --
From: Takashi Iwai <tiwai@xxxxxxx>
Subject: [PATCH] ALSA: hda - Fix panic at booting with built-in HDA driver

The split of hdaudio bus type caused a kernel panic at booting when
the HD-audio driver is built into kernel, because of the insufficient
init call order.

This patch changes the module_init() to subsys_initcall() to assure
the bus type registration done before any other driver registrations.

Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
---
sound/hda/hda_bus_type.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/hda/hda_bus_type.c b/sound/hda/hda_bus_type.c
index 996515c6a248..519914a12e8a 100644
--- a/sound/hda/hda_bus_type.c
+++ b/sound/hda/hda_bus_type.c
@@ -38,5 +38,5 @@ static void __exit hda_bus_exit(void)
bus_unregister(&snd_hda_bus_type);
}

-module_init(hda_bus_init);
+subsys_initcall(hda_bus_init);
module_exit(hda_bus_exit);
--
2.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/