Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932306AbYGQSkq (ORCPT ); Thu, 17 Jul 2008 14:40:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758046AbYGQSkg (ORCPT ); Thu, 17 Jul 2008 14:40:36 -0400 Received: from cantor2.suse.de ([195.135.220.15]:44890 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757631AbYGQSkf (ORCPT ); Thu, 17 Jul 2008 14:40:35 -0400 Date: Thu, 17 Jul 2008 20:40:33 +0200 Message-ID: From: Takashi Iwai To: Ingo Molnar Cc: Jaroslav Kysela , LKML , ALSA development , "Rafael J. Wysocki" , Rene Herman , Krzysztof Helt Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib" In-Reply-To: <20080717170657.GA14593@elte.hu> References: <20080717170657.GA14593@elte.hu> User-Agent: Wanderlust/2.12.0 (Your Wildest Dreams) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/22.2 (x86_64-suse-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5947 Lines: 119 At Thu, 17 Jul 2008 19:06:57 +0200, Ingo Molnar wrote: > > > hi Jaroslav, et al, > > * Jaroslav Kysela 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 > | 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. Could you try the patch below? thanks, Takashi --- diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index 41c047e..d20abb2 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c @@ -688,7 +688,7 @@ static void snd_card_opti9xx_free(struct snd_card *card) if (chip) { #ifdef OPTi93X struct snd_cs4231 *codec = chip->codec; - if (codec->irq > 0) { + if (codec && codec->irq > 0) { disable_irq(codec->irq); free_irq(codec->irq, codec); } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/