* Kernel Oops unloading snd_ymfpci, 2.6.24
@ 2008-03-19 4:57 Gerard Neil
2008-03-20 11:47 ` Takashi Iwai
0 siblings, 1 reply; 4+ messages in thread
From: Gerard Neil @ 2008-03-19 4:57 UTC (permalink / raw)
To: alsa-devel
Hi,
I'm just upgraded to kernel 2.6.24 and I'm seeing a kernel OOPS every
time I unload the snd_ymfpci module...
Below is what I see in my log. My naive interpretation of this is that
the system is barfing in the interrupt handler at the time it is
trying to free the interrupt.... so maybe the interrupt hasn't been
disabled properly before the free_irq() call? As I say, it's a naive
interpretation.
Anyway, I'd appreciate it if somebody could look this over and tell me
what my next step should be. I'm available to debug if necessary.
Thanks,
Gerard
Mar 18 00:16:58 {kern,info} ACPI: PCI Interrupt 0000:00:08.0[A] -> GSI
18 (level, low) -> IRQ 16
Mar 18 00:17:00 {kern,err} codec_ready: codec 0 is not ready [0x802a]
Mar 18 00:17:00 {kern,alert} BUG: unable to handle kernel paging
request at virtual address f8e10100
Mar 18 00:17:00 {kern,alert} printing eip: f8e2b430 *pde = 37770067
*pte = 00000000
Mar 18 00:17:00 {kern,emerg} Oops: 0000 [#1] SMP
Mar 18 00:17:00 {kern,warning} Modules linked in: snd_ymfpci snd_seq
snd_ac97_codec snd_pcm snd_opl3_lib snd_timer snd_hwdep snd_page_alloc
snd_mpu401_uart snd_rawmidi snd_seq_device snd w83627hf hwmon_vid
hwmon eeprom nfsd lockd nfs_acl sunrpc exportfs af_packet loop usbhid
floppy ac97_bus soundcore ohci_hcd via_agp agpgart ehci_hcd skge
uhci_hcd i2c_viapro i2c_core e100
Mar 18 00:17:00 {kern,warning}
Mar 18 00:17:00 {kern,warning} Pid: 8543, comm: rmmod Not tainted
(2.6.24-gentoo-r3 #1)
Mar 18 00:17:00 {kern,warning} EIP: 0060:[<f8e2b430>] EFLAGS: 00210092 CPU: 1
Mar 18 00:17:00 {kern,warning} EIP is at
snd_ymfpci_interrupt+0x10/0x1e0 [snd_ymfpci]
Mar 18 00:17:00 {kern,warning} EAX: 00000010 EBX: f77f0200 ECX:
e5a36980 EDX: f8e10000
Mar 18 00:17:00 {kern,warning} ESI: 00000010 EDI: dd74f000 EBP:
c041e1d0 ESP: dd7a7e4c
Mar 18 00:17:00 {kern,warning} DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Mar 18 00:17:00 {kern,emerg} Process rmmod (pid: 8543, ti=dd7a6000
task=e5a8aa60 task.ti=dd7a6000)
Mar 18 00:17:00 {kern,emerg} Stack: f7c82960 00200286 000007b0
00000010 00000003 00200246 f77f0200 00000010
Mar 18 00:17:00 {kern,emerg} 00200282 c041e1d0 c01415b2 dd7b8000
1d7b8000 f7c57c4c e9e2a000 dd74f000
Mar 18 00:17:00 {kern,emerg} 00200216 dd74f000 e9e2a140 00002fff
e9e2a000 f8e28d4f 00001fff f77f0d40
Mar 18 00:17:00 {kern,emerg} Call Trace:
Mar 18 00:17:00 {kern,emerg} [<c01415b2>] free_irq+0x102/0x160
Mar 18 00:17:00 {kern,emerg} [<f8e28d4f>] snd_ymfpci_free+0x10f/0x150
[snd_ymfpci]
Mar 18 00:17:00 {kern,emerg} [<f88bd6f3>] snd_device_free+0x63/0xb0 [snd]
Mar 18 00:17:00 {kern,emerg} [<f88bd798>] snd_device_free_all+0x58/0x60 [snd]
Mar 18 00:17:00 {kern,emerg} [<f88b96cd>] snd_card_do_free+0x2d/0xe0 [snd]
Mar 18 00:17:00 {kern,emerg} [<f88ba361>] snd_card_free+0x91/0xa0 [snd]
Mar 18 00:17:00 {kern,emerg} [<c022318b>] kref_put+0x2b/0x80
Mar 18 00:17:00 {kern,emerg} [<c03417cc>] wait_for_common+0x1c/0x140
Mar 18 00:17:00 {kern,emerg} [<f8e2801e>]
snd_card_ymfpci_remove+0xe/0x20 [snd_ymfpci]
Mar 18 00:17:00 {kern,emerg} [<c02309f6>] pci_device_remove+0x16/0x40
Mar 18 00:17:00 {kern,emerg} [<c027c6d4>] __device_release_driver+0x64/0xa0
Mar 18 00:17:00 {kern,emerg} [<c027cc21>] driver_detach+0xc1/0xd0
Mar 18 00:17:00 {kern,emerg} [<c027c235>] bus_remove_driver+0x75/0xa0
Mar 18 00:17:00 {kern,emerg} [<c0230ace>] pci_unregister_driver+0xe/0x70
Mar 18 00:17:00 {kern,emerg} [<c013f27a>] sys_delete_module+0x11a/0x1c0
Mar 18 00:17:00 {kern,emerg} [<c0114297>] do_page_fault+0xe7/0x620
Mar 18 00:17:00 {kern,emerg} [<c01553b7>] do_munmap+0x197/0x1f0
Mar 18 00:17:00 {kern,emerg} [<c0102b8e>] sysenter_past_esp+0x5f/0x85
Mar 18 00:17:00 {kern,emerg} [<c0340000>] unix_bind+0x170/0x2b0
Mar 18 00:17:00 {kern,emerg} =======================
Mar 18 00:17:00 {kern,emerg} Code: a8 c8 00 00 00 8b 47 10 8b 14 24 89
90 c0 00 00 00 8b 43 2c e9 40 ff ff ff 66 90 55 57 89 d7 56 53 83 ec
18 89 44 24 0c 8b 52 10 <8b> 82 00 01 00 00 85 c0 78 50 0f b7 42 04 0f
b7 d8 f6 c3 01 74
Mar 18 00:17:00 {kern,emerg} EIP: [<f8e2b430>]
snd_ymfpci_interrupt+0x10/0x1e0 [snd_ymfpci] SS:ESP 0068:dd7a7e4c
Mar 18 00:17:00 {kern,warning} ---[ end trace 8697168af0baea4f ]---
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Kernel Oops unloading snd_ymfpci, 2.6.24
2008-03-19 4:57 Kernel Oops unloading snd_ymfpci, 2.6.24 Gerard Neil
@ 2008-03-20 11:47 ` Takashi Iwai
2008-03-21 13:48 ` Gerard Neil
0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2008-03-20 11:47 UTC (permalink / raw)
To: Gerard Neil; +Cc: alsa-devel
At Wed, 19 Mar 2008 15:57:56 +1100,
Gerard Neil wrote:
>
> Hi,
>
> I'm just upgraded to kernel 2.6.24 and I'm seeing a kernel OOPS every
> time I unload the snd_ymfpci module...
>
> Below is what I see in my log. My naive interpretation of this is that
> the system is barfing in the interrupt handler at the time it is
> trying to free the interrupt.... so maybe the interrupt hasn't been
> disabled properly before the free_irq() call? As I say, it's a naive
> interpretation.
free_irq should be called before releasing other resources.
Does the patch below work?
Takashi
---
diff -r 3ed43822fab7 sound/pci/ymfpci/ymfpci_main.c
--- a/sound/pci/ymfpci/ymfpci_main.c Thu Mar 20 12:30:36 2008 +0100
+++ b/sound/pci/ymfpci/ymfpci_main.c Thu Mar 20 12:53:52 2008 +0100
@@ -2249,6 +2249,8 @@ static int snd_ymfpci_free(struct snd_ym
#ifdef CONFIG_PM
vfree(chip->saved_regs);
#endif
+ if (chip->irq >= 0)
+ free_irq(chip->irq, chip);
release_and_free_resource(chip->mpu_res);
release_and_free_resource(chip->fm_res);
snd_ymfpci_free_gameport(chip);
@@ -2257,8 +2259,6 @@ static int snd_ymfpci_free(struct snd_ym
if (chip->work_ptr.area)
snd_dma_free_pages(&chip->work_ptr);
- if (chip->irq >= 0)
- free_irq(chip->irq, chip);
release_and_free_resource(chip->res_reg_area);
pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl);
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Kernel Oops unloading snd_ymfpci, 2.6.24
2008-03-20 11:47 ` Takashi Iwai
@ 2008-03-21 13:48 ` Gerard Neil
2008-03-22 9:27 ` Takashi Iwai
0 siblings, 1 reply; 4+ messages in thread
From: Gerard Neil @ 2008-03-21 13:48 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
> Does the patch below work?
Yes, perfectly. Thanks!
Gerard
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Kernel Oops unloading snd_ymfpci, 2.6.24
2008-03-21 13:48 ` Gerard Neil
@ 2008-03-22 9:27 ` Takashi Iwai
0 siblings, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2008-03-22 9:27 UTC (permalink / raw)
To: Gerard Neil; +Cc: alsa-devel
At Sat, 22 Mar 2008 00:48:58 +1100,
Gerard Neil wrote:
>
> > Does the patch below work?
>
> Yes, perfectly. Thanks!
Thanks for confirmation. The patch is now on ALSA tree.
Takashi
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-03-22 9:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-19 4:57 Kernel Oops unloading snd_ymfpci, 2.6.24 Gerard Neil
2008-03-20 11:47 ` Takashi Iwai
2008-03-21 13:48 ` Gerard Neil
2008-03-22 9:27 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox