[alsa-devel] [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

Ingo Molnar mingo at elte.hu
Thu Jul 17 19:06:57 CEST 2008


hi Jaroslav, et al,

* Jaroslav Kysela <perex at perex.cz> wrote:

>       ALSA: opti93x: use cs4231 lib

-tip testing found the following bootup crash on latest -git:
    
    [   44.827459] calling  alsa_card_opti9xx_init+0x0/0x20
    [   44.830435] bus: 'isa': add driver opti93x
    [   44.833503] device: 'opti93x.0': device_add
    [   44.837804] bus: 'isa': add device opti93x.0
    [   44.841820] bus: 'isa': driver_probe_device: matched device opti93x.0 with driver opti93x
    [   44.845327] bus: 'isa': really_probe: probing driver opti93x with device opti93x.0
    [   44.851601] BUG: unable to handle kernel NULL pointer dereference at 00000010
    [   44.855329] IP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40
    [   44.859370] *pde = 00000000
    [   44.862651] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
    [   44.862651]
    [   44.862651] Pid: 1, comm: swapper Not tainted (2.6.26-00085-g9f240a5-dirty #20182)
    [   44.862651] EIP: 0060:[<786c0782>] EFLAGS: 00010286 CPU: 0
    [   44.862651] EIP is at snd_card_opti9xx_free+0x12/0x40
    [   44.862651] EAX: 96892000 EBX: 00000000 ECX: 96892140 EDX: 786c0770
    [   44.862651] ESI: 9689229c EDI: 9689229c EBP: 9782fe10 ESP: 9782fe08
    [   44.862651]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    [   44.862651] Process swapper (pid: 1, ti=9782f000 task=97848000 task.ti=9782f000)
    [   44.862651] Stack: 96892000 00000286 9782fe1c 786a2b5b 96892000 9782fe48 786a349d 00000000
    [   44.862651]        00000286 78b34028 9688a100 00000286 9689229c fffff000 00000286 9689229c
    [   44.862651]        9782fe84 787f4b18 968922c0 9689229f 9688dc00 96892000 00000004 00000000
    [   44.862651] Call Trace:
    [   44.862651]  [<786a2b5b>] ? snd_card_do_free+0x4b/0x120
    [   44.862651]  [<786a349d>] ? snd_card_free+0x7d/0x90
    [   44.862651]  [<787f4b18>] ? snd_opti9xx_isa_probe+0x158/0xa30
    [   44.862651]  [<787f49c0>] ? snd_opti9xx_isa_probe+0x0/0xa30
    [   44.862651]  [<7832580d>] ? isa_bus_probe+0x1d/0x30
    [   44.862651]  [<783229c0>] ? driver_probe_device+0xa0/0x1c0
    [   44.862651]  [<78322b58>] ? __device_attach+0x8/0x10
    [   44.862651]  [<78321d60>] ? bus_for_each_drv+0x40/0x80
    [   44.862651]  [<78322c04>] ? device_attach+0x84/0xa0
    [   44.862651]  [<78322b50>] ? __device_attach+0x0/0x10
    [   44.862651]  [<78321b97>] ? bus_attach_device+0x47/0x50
    [   44.862651]  [<78320877>] ? device_add+0x3a7/0x500
    [   44.862651]  [<783209e2>] ? device_register+0x12/0x20
    [   44.862651]  [<783259c2>] ? isa_register_driver+0xa2/0x120
    [   44.862651]  [<78153631>] ? ktime_get+0x11/0x30
    [   44.862651]  [<78b78852>] ? alsa_card_opti9xx_init+0x12/0x20
    [   44.862651]  [<78b3d679>] ? kernel_init+0x1d9/0x300
    [   44.862651]  [<78b78840>] ? alsa_card_opti9xx_init+0x0/0x20
    [   44.862651]  [<781192ce>] ? syscall_exit+0x8/0x28
    [   44.862651]  [<78b3d4a0>] ? kernel_init+0x0/0x300
    [   44.862651]  [<78b3d4a0>] ? kernel_init+0x0/0x300
    [   44.862651]  [<7811a4e7>] ? kernel_thread_helper+0x7/0x10
    [   44.862651]  =======================
    [   44.862651] Code: e8 8b 03 e8 11 e5 a9 ff 8b 03 5b 5d c3 b8 ff ff ff ff 5b 5d c3 8d 74 26 00 55 89 e5 56 53 8b b0 38 01 00 00 85 f6 74 21 8b 5e 1c <8b> 43 10 85 c0 7e 0f e8 32 5a aa ff 8b 43 10 89 da e8 68 5a aa
    [   44.862651] EIP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40 SS:ESP 0068:9782fe08
    [   44.866056] Kernel panic - not syncing: Fatal exception
    
i've bisected it down to:
    
    | 9f240a558f94bea839e14c46c8fccf93bdd35ef6 is first bad commit
    | commit 9f240a558f94bea839e14c46c8fccf93bdd35ef6
    | Author: Krzysztof Helt <krzysztof.h1 at wp.pl>
    | Date:   Wed Jun 11 12:26:32 2008 +0200
    |
    |     ALSA: opti93x: use cs4231 lib
    
The bisection log is:

# bad : [a3cf859f] Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
# good: [bce7f795] Linux 2.6.26
# bad : [d1794f2a] Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6
# good: [e30a44f3] x86: merge put_user.
# bad : [6c118e4c] Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
# bad : [fe0a3fed] ALSA: Release v1.0.17
# bad : [dbac7cbe] ALSA: ASoC: Add missing includes
# good: [f2690025] [ALSA] hda - Add support of Teradici controller
# good: [f10485eb] [ALSA] ASoC: Add WM8990 driver
# good: [0a1b42d5] sound: sound/oss/dmasound/: cleanups
# good: [a6a950a4] ALSA: hda - Add a warning if pending IRQ is found
# bad : [d751b231] ALSA: ASoC: Fix register cache sizes for Wolfson codecs
# bad : [9f240a56] ALSA: opti93x: use cs4231 lib
# good: [abf1f5af] ALSA: opti93x: add support for Opti93x codec in cs4231-lib
    
the patch below is a temporary workaround to keep my tests running.

Can send more info about the system in question - it has ISA (it's an 
old Pentium-3-Coppermine based laptop) but otherwise it doesnt have 
opti93x hw so the crash should be reproducible elsewhere as well.

Thanks,

	Ingo
    
---
 sound/isa/Kconfig |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
index 5769a13..a63df4f 100644
--- a/sound/isa/Kconfig
+++ b/sound/isa/Kconfig
@@ -305,6 +305,12 @@ config SND_OPTI93X
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_CS4231_LIB
+	#
+	# Crashes on bootup with this config:
+	#
+	# http://redhat.com/~mingo/misc/config-Thu_Jul_17_17_54_09_CEST_2008.bad
+	#
+	depends on 0
 	help
 	  Say Y here to include support for soundcards based on Opti
 	  82C93x chips.


More information about the Alsa-devel mailing list