Alsa driver 1.0.10 causes oopses on modprobing snd_virmidi.ko or snd_mpu401.ko on both gentoo-sources kernels 2.6.13-gentoo-rx and 2.6.14-gentoo-rx (x = any). I first worked this around by commenting out: #if 0 if ((err = snd_card_set_generic_dev(card)) < 0) goto __nodev; #endif in the affected files (to mimic 1.0.10rc2 and previous behaviour). The correct fix however is already in the upstream (alsa) cvs. I'll post the patch in the next comment. The problem is worse with gentoo-sources 2.6.14-gentoo-r4, as even the in-kernel driver (which is bit-identical to the alsa-driver-1.0.10 file) produces this failure. Reproducible: Always Steps to Reproduce: 1. emerge, configure, boot kernel 2.6.14-gentoo-r4 2. emerge alsa-driver-1.0.10 (tested ~amd64, upstream has reports for x86 and ppc also) 3. modprobe snd_mpu401 Actual Results: Dec 10 16:48:34 ale Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: Dec 10 16:48:34 ale [<0000000000000000>] Dec 10 16:48:34 ale PGD 7e9c1067 PUD 7eb49067 PMD 0 Dec 10 16:48:34 ale Oops: 0010 [1] Dec 10 16:48:34 ale CPU 0 Dec 10 16:48:34 ale Modules linked in: snd_mpu401 nvidia snd_bt87x snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd Dec 10 16:48:34 ale Pid: 2839, comm: modprobe Tainted: P 2.6.14-gentoo-r4 #1 Dec 10 16:48:34 ale RIP: 0010:[<0000000000000000>] [<0000000000000000>] Dec 10 16:48:34 ale RSP: 0018:ffff81007e3bfa90 EFLAGS: 00010286 Dec 10 16:48:34 ale RAX: ffffffff8800c328 RBX: ffff81007ed8d810 RCX: 0000000000000000 Dec 10 16:48:34 ale RDX: 0000000000000009 RSI: ffffffff88006f59 RDI: ffff81007ed8d800 Dec 10 16:48:34 ale RBP: ffffffff8800c328 R08: 0000000000000000 R09: ffff81007cf09420 Dec 10 16:48:34 ale R10: 000000000007a55f R11: 0000000000000000 R12: 0000000000000000 Dec 10 16:48:34 ale R13: ffff81007ed8d810 R14: 0000000000000000 R15: 0000000000000016 Dec 10 16:48:34 ale FS: 00002aaaaaefbd50(0000) GS:ffffffff80614800(0000) knlGS:0000000000000000 Dec 10 16:48:34 ale CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b Dec 10 16:48:34 ale CR2: 0000000000000000 CR3: 000000007e0be000 CR4: 00000000000006e0 Dec 10 16:48:34 ale Process modprobe (pid: 2839, threadinfo ffff81007e3be000, task ffff81007dc254d0) Dec 10 16:48:34 ale Stack: ffffffff80297aff 0000000000000000 ffff81007e3bfab8 ffffffff80297b70 Dec 10 16:48:34 ale ffffffff802972a6 ffffffff804c4248 ffffffff804c4248 ffffffff8800c3c0 Dec 10 16:48:34 ale ffff81007ec53d20 ffff81007ec53d20 Dec 10 16:48:34 ale Call Trace:<ffffffff80297aff>{driver_probe_device+79} <ffffffff80297b70>{__device_attach+0} Dec 10 16:48:34 ale <ffffffff802972a6>{bus_for_each_drv+70} <ffffffff80297bd8>{device_attach+88} Dec 10 16:48:34 ale <ffffffff80297325>{bus_add_device+69} <ffffffff8029635d>{device_add+173} Dec 10 16:48:34 ale <ffffffff8029950a>{platform_device_register+250} <ffffffff880011b7>{:snd:snd_generic_device_r egister+135} Dec 10 16:48:34 ale <ffffffff88001539>{:snd:snd_card_set_generic_dev+9} Dec 10 16:48:34 ale <ffffffff884ff178>{:snd_mpu401:snd_mpu401_create+376} Dec 10 16:48:34 ale <ffffffff884ff302>{:snd_mpu401:snd_mpu401_pnp_probe+338} ... Expected Results: modprobe suceeds. The tainting is from nvidia module, but oops also happens without.
Created attachment 74588 [details, diff] Correct fix for the problem from upstream cvs
This did in fact fix here on 2.6.14-r4 for me. Thanks for the heads up.
Committed the patch as 1.0.10-r1, will give that a try on ppc and if it does also fix the pmac problem I'll ask to mark that stable soon.