<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>115336</bug_id>
          
          <creation_ts>2005-12-12 11:51 0000</creation_ts>
          <short_desc>alsa-driver-1.0.10 oopses on gentoo-sources kernels 2.6.13 and 2.6.14</short_desc>
          <delta_ts>2005-12-15 14:24:48 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Core system</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>ari@goron.de</reporter>
          <assigned_to>sound@gentoo.org</assigned_to>
          <cc>steev@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>ari@goron.de</who>
            <bug_when>2005-12-12 11:51:32 0000</bug_when>
            <thetext>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)) &lt; 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&apos;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 [&lt;0000000000000000&gt;]
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:[&lt;0000000000000000&gt;] [&lt;0000000000000000&gt;]
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:&lt;ffffffff80297aff&gt;{driver_probe_device+79}
&lt;ffffffff80297b70&gt;{__device_attach+0}
Dec 10 16:48:34 ale &lt;ffffffff802972a6&gt;{bus_for_each_drv+70}
&lt;ffffffff80297bd8&gt;{device_attach+88}
Dec 10 16:48:34 ale &lt;ffffffff80297325&gt;{bus_add_device+69}
&lt;ffffffff8029635d&gt;{device_add+173}
Dec 10 16:48:34 ale &lt;ffffffff8029950a&gt;{platform_device_register+250}
&lt;ffffffff880011b7&gt;{:snd:snd_generic_device_r
egister+135}
Dec 10 16:48:34 ale &lt;ffffffff88001539&gt;{:snd:snd_card_set_generic_dev+9}
Dec 10 16:48:34 ale &lt;ffffffff884ff178&gt;{:snd_mpu401:snd_mpu401_create+376}
Dec 10 16:48:34 ale &lt;ffffffff884ff302&gt;{:snd_mpu401:snd_mpu401_pnp_probe+338}
...

Expected Results:  
modprobe suceeds.

The tainting is from nvidia module, but oops also happens without.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ari@goron.de</who>
            <bug_when>2005-12-12 11:52:55 0000</bug_when>
            <thetext>Created an attachment (id=74588)
Correct fix for the problem from upstream cvs
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>steev@gentoo.org</who>
            <bug_when>2005-12-13 23:20:54 0000</bug_when>
            <thetext>This did in fact fix here on 2.6.14-r4 for me.  Thanks for the heads up.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>flameeyes@gentoo.org</who>
            <bug_when>2005-12-15 14:24:48 0000</bug_when>
            <thetext>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&apos;ll ask to mark that stable soon. 
 </thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74588</attachid>
            <date>2005-12-12 11:52 0000</date>
            <desc>Correct fix for the problem from upstream cvs</desc>
            <filename>alsa-driver_1_0_10_00_platform_device_compat.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">U3ViamVjdDogW1BBVENIXSBGaXggcGxhdGZvcm1fZHJpdmVyIGVtdWxhdGlvbiBmb3Iga2VybmVs
cyA8PSAyLjYuMTQKClRoZSBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoKSBzdWJzdGl0dXRlIGlu
IGFsc2EtZHJpdmVyLTEuMC4xMCBzZXRzCmRydi0+ZHJpdmVyLnByb2JlIGFuZCBkcnYtPmRyaXZl
ci5yZW1vdmUgZnVuY3Rpb25zIHdpdGhvdXQgY2hlY2tpbmcgZm9yCm5vbi1OVUxMIGRydi0+cHJv
YmUgYW5kIGRydi0+cmVtb3ZlOyBzbmRfcGxhdGZvcm1fZHJpdmVyX3Byb2JlKCkgYW5kCnNuZF9w
bGF0Zm9ybV9kcml2ZXJfcmVtb3ZlKCkgYWxzbyBkbyBub3QgY2hlY2sgZm9yIE5VTEwgaW4gdGhv
c2UgZmllbGRzLgpIb3dldmVyLCBzbmRfZ2VuZXJpY19kcml2ZXIgaGFzIE5VTEwgLT5wcm9iZSBh
bmQgLT5yZW1vdmUgZnVuY3Rpb25zLAp0aGVyZWZvcmUgYXR0ZW1wdHMgdG8gdXNlIGl0IG9uIGtl
cm5lbHMgPD0gMi42LjE0IGxlYWQgdG8gb29wc2VzLgoKVGhpcyBwYXRjaCBjaGFuZ2VzIHBsYXRm
b3JtX2RyaXZlcl9yZWdpc3RlcigpIHByb3ZpZGVkIGJ5IGFsc2EtZHJpdmVyCmZvciBvbGQga2Vy
bmVscyB0byBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24gaW4gcG9zdC0yLjYuMTQga2VybmVscywK
d2hpY2ggY2hlY2tzIGZvciBOVUxMIC0+cHJvYmUgYW5kIC0+cmVtb3ZlIGZ1bmN0aW9ucy4KClNp
Z25lZC1vZmYtYnk6IFNlcmdleSBWbGFzb3YgPHZzdUBhbHRsaW51eC5ydT4KCi0tLSBhbHNhLWRy
aXZlci0xLjAuMTAvaW5jbHVkZS9wbGF0Zm9ybV9kZXZpY2VfY29tcGF0LmguYWx0LXBsYXRmb3Jt
X2RldmljZV9jb21wYXQJMjAwNS0xMS0xNCAxNzo0MjoyNyArMDMwMAorKysgYWxzYS1kcml2ZXIt
MS4wLjEwL2luY2x1ZGUvcGxhdGZvcm1fZGV2aWNlX2NvbXBhdC5oCTIwMDUtMTItMDMgMjM6MDE6
MjYgKzAzMDAKQEAgLTYxLDggKzYxLDEwIEBACiBzdGF0aWMgaW5saW5lIGludCBwbGF0Zm9ybV9k
cml2ZXJfcmVnaXN0ZXIoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqZHJ2KQogewogCWRydi0+ZHJp
dmVyLmJ1cyA9ICZwbGF0Zm9ybV9idXNfdHlwZTsKLQlkcnYtPmRyaXZlci5wcm9iZSA9IHNuZF9w
bGF0Zm9ybV9kcml2ZXJfcHJvYmU7Ci0JZHJ2LT5kcml2ZXIucmVtb3ZlID0gc25kX3BsYXRmb3Jt
X2RyaXZlcl9yZW1vdmU7CisJaWYgKGRydi0+cHJvYmUpCisJCWRydi0+ZHJpdmVyLnByb2JlID0g
c25kX3BsYXRmb3JtX2RyaXZlcl9wcm9iZTsKKwlpZiAoZHJ2LT5yZW1vdmUpCisJCWRydi0+ZHJp
dmVyLnJlbW92ZSA9IHNuZF9wbGF0Zm9ybV9kcml2ZXJfcmVtb3ZlOwogCWlmIChkcnYtPnN1c3Bl
bmQpCiAJCWRydi0+ZHJpdmVyLnN1c3BlbmQgPSBzbmRfcGxhdGZvcm1fZHJpdmVyX3N1c3BlbmQ7
CiAJaWYgKGRydi0+cmVzdW1lKQo=
</data>        

          </attachment>
    </bug>

</bugzilla>