Here is why lsmod snd_aoa_codec_onyx 15680 2 snd_aoa_fabric_layout 14120 0 snd_aoa 20896 2 snd_aoa_codec_onyx,snd_aoa_fabric_layout snd_aoa_i2sbus 24420 1 snd_pcm 95044 1 snd_aoa_i2sbus snd_timer 27396 1 snd_pcm snd_page_alloc 11368 1 snd_pcm snd 61636 6 snd_aoa_codec_onyx,snd_aoa_fabric_layout,snd_aoa,snd_aoa_i2sbus,snd_pcm,snd_timer snd_aoa_soundbus 8068 2 snd_aoa_fabric_layout,snd_aoa_i2sbus the script tries to unload every module w/out expressed deps and snd_aoa_codec_onyx is locked w/out an expressed module
and that's what happen when you try to unload the right module with alsasound script still locked on rmmod --wait snd_aoa_codec_onyx rmmod snd_aoa_fabric_layout Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xf249c178 Oops: Kernel access of bad area, sig: 11 [#1] PREEMPT Modules linked in: snd_aoa_fabric_layout snd_aoa snd_aoa_i2sbus snd_pcm snd_timer snd_page_alloc snd snd_aoa_soundbus genrtc pcmcia bcm43xx firmware_class rng_core ieee80211softmac ieee80211 ieee80211_crypt yenta_socket rsrc_nonstatic pcmcia_core eth1394 NIP: F249C178 LR: F249C170 CTR: 00000000 REGS: ebd8be00 TRAP: 0300 Not tainted (2.6.20-gentoo-r4) MSR: 00009032 <EE,ME,IR,DR> CR: 24000488 XER: 00000000 DAR: 00000000, DSISR: 40000000 TASK = ec342650[10452] 'rmmod' THREAD: ebd8a000 GPR00: F249C170 EBD8BEB0 EC342650 EFD22D90 C0008B88 00000007 00000000 00000000 GPR08: 0006FC00 00000000 24000448 00001032 00000000 1001B334 00000000 10010000 GPR16: 00000000 100D3070 100C0000 100A0000 100C0000 100D53A0 10014008 00000000 GPR24: 7FEBA6B0 00000000 00000880 7FEBA700 00000000 C0444148 00000880 FFFFFFC0 NIP [F249C178] aoa_fabric_unregister+0x44/0x90 [snd_aoa] LR [F249C170] aoa_fabric_unregister+0x3c/0x90 [snd_aoa] Call Trace: [EBD8BEB0] [F249C170] aoa_fabric_unregister+0x3c/0x90 [snd_aoa] (unreliable) [EBD8BEC0] [F24B8E6C] aoa_fabric_layout_exit+0x24/0x698 [snd_aoa_fabric_layout] [EBD8BED0] [C005172C] sys_delete_module+0x1b8/0x1f4 [EBD8BF40] [C0012E28] ret_from_syscall+0x0/0x38 --- Exception: c01 at 0xff3e234 LR = 0x100022f4 Instruction dump: 80091148 7f801800 40be0060 3d20f24a 81290f1c 48000018 801f0048 2f800000 419e0008 4bfffe95 813f0040 3be9ffc0 <801f0040> 2f800000 419e0008 7c00022c
On IRC you figured out that the oops only happens when you unload the modules in a certain order. Is the same still true on the latest development kernel, currently v2.6.21-rc5?
I cannot reproduce it with later kernels, the issue about modules presenting their lockers is still valid (and still hangs alsasound script) the suspend/resume issue remains but seems unrelated to aoa
gentoo-sources-2.6.21 is now in portage