Hi,

Remind me to NEVER try and update two systems at the
same time again! I have compiled Linux 2.4.20 for my
SMP box with very latest ALSA CVS modules. However,
2.4.20 deadlocked when I rebooted it and needed
rescuing by the NMI watchdog.

Unfortunately, I have not tried these ALSA modules
with my trusty 2.4.19 kernel and so don't know whether
ALSA is to blame or whether its the new devfs. The
balance of opinion on linus-kernel is that it's ALSA:

ksymoops 2.4.8 on i686 2.4.20.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.20/ (default)
     -m /boot/System.map-2.4.20 (specified)

Nov 30 18:26:23 (none) kernel: NMI Watchdog detected
LOCKUP on CPU0, eip c01062f
Nov 30 18:26:23 (none) kernel: CPU:    0
Nov 30 18:26:23 (none) kernel: EIP:   
0010:[__write_lock_failed+15/32]    Not t
Nov 30 18:26:23 (none) kernel: EFLAGS: 00000087
Nov 30 18:26:23 (none) kernel: eax: f770cf4c   ebx:
f78fbd20   ecx: 00000286   e
Nov 30 18:26:23 (none) kernel: esi: f770ce00   edi:
f7e4a220   ebp: f7e4a220   e
Nov 30 18:26:23 (none) kernel: ds: 0018   es: 0018  
ss: 0018
Nov 30 18:26:23 (none) kernel: Process alsactl (pid:
391, stackpage=f76e1000)
Nov 30 18:26:23 (none) kernel: Stack: f88e3010
00000038 000001f0 f88e5c60 f88e13
Nov 30 18:26:23 (none) kernel:        f7e4a220
00000000 f7714a40 f7e4a220 f77139
Nov 30 18:26:23 (none) kernel:        f7e4a220
f76e1f84 c014e7d9 ffffffeb f7e4a2
Nov 30 18:26:23 (none) kernel: Call Trace:   
[<f88e3010>] [<f88e5c60>] [<f88e13
Nov 30 18:26:23 (none) kernel: Code: 75 f6 f0 81 28 00
00 00 01 0f 85 e2 ff ff f
Using defaults from ksymoops -t elf32-i386 -a i386

>>eax; f770cf4c <_end+373d8adc/38511bf0>
>>ebx; f78fbd20 <_end+375c78b0/38511bf0>
>>edx; f78fbd38 <_end+375c78c8/38511bf0>
>>esi; f770ce00 <_end+373d8990/38511bf0>
>>edi; f7e4a220 <_end+37b15db0/38511bf0>
>>ebp; f7e4a220 <_end+37b15db0/38511bf0>
>>esp; f76e1ee8 <_end+373ada78/38511bf0>

Trace; f88e3010 <[snd].text.lock.control+5/135>
Trace; f88e5c60 <[snd]snd_fops+0/48>
Trace; f88e1370 <[snd]snd_ctl_open+0/130>
Trace; f88de22f <[snd]snd_open+df/160>

Code;  00000000 Before first symbol
00000000 <_EIP>:
Code;  00000000 Before first symbol
   0:   75 f6                     jne    fffffff8
<_EIP+0xfffffff8> fffffff8 <EN
Code;  00000002 Before first symbol
   2:   f0 81 28 00 00 00 01      lock subl
$0x1000000,(%eax)
Code;  00000009 Before first symbol
   9:   0f 85 e2 ff ff ff         jne    fffffff1
<_EIP+0xfffffff1> fffffff1 <EN
Code;  0000000f Before first symbol
   f:   c3                        ret    
Code;  00000010 Before first symbol
  10:   90                        nop    
Code;  00000011 Before first symbol
  11:   f0 ff 00                  lock incl (%eax)

To this end, I have been examining recent changes in
the alsa-kernel/core directory. In particular, the
snd_ctl_release() function in the file control.c:

Line 126:

        write_lock_irqsave(&card->control_rwlock,
flags);
        list_del(&ctl->list);
        list_for_each(list, &card->controls) {
                control = snd_kcontrol(list);
                if (control->owner == ctl)
                        control->owner = NULL;
        }
        write_unlock(&card->control_owner_lock);
 
Am I reading this wrong? It looks as if it's taking
one lock but releasing another.

Cheers,
Chris


__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com


-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T 
handheld. Power & Color in a compact size! 
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to