Update of /cvsroot/alsa/alsa-kernel/core
In directory usw-pr-cvs1:/tmp/cvs-serv2880

Modified Files:
        control.c 
Log Message:
Fixed spinlock problems discovered by Andrew Morton <[EMAIL PROTECTED]>

Index: control.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/core/control.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- control.c   13 Aug 2002 16:13:34 -0000      1.14
+++ control.c   29 Sep 2002 15:49:04 -0000      1.15
@@ -160,7 +160,7 @@
                                goto _found;
                        }
                }
-               ev = snd_kcalloc(sizeof(*ev), in_interrupt() ? GFP_ATOMIC : 
GFP_KERNEL);
+               ev = snd_kcalloc(sizeof(*ev), GFP_ATOMIC);
                if (ev) {
                        ev->id = *id;
                        ev->mask = mask;
@@ -486,12 +486,15 @@
                        }
                        read_unlock(&card->control_owner_lock);
                        if (result > 0) {
-                               result = 0;
+                               read_unlock(&card->control_rwlock);
                                snd_ctl_notify(card, SNDRV_CTL_EVENT_MASK_VALUE, 
&kctl->id);
+                               result = 0;
+                               goto __unlocked;
                        }
                }
        }
        read_unlock(&card->control_rwlock);
+      __unlocked:
        if (result >= 0)
                if (copy_to_user(_control, &control, sizeof(control)))
                        return -EFAULT;



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to