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

Modified Files:
        device.c 
Log Message:
Added back list_for_each() in snd_device_free_all(). If device is deleted,
list is iterated from the beginning (it's possible that device "after
current" is freed, too).


Index: device.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/core/device.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- device.c    7 Oct 2002 16:00:46 -0000       1.9
+++ device.c    13 Oct 2002 14:22:51 -0000      1.10
@@ -116,14 +116,14 @@
 int snd_device_free_all(snd_card_t *card, snd_device_cmd_t cmd)
 {
        snd_device_t *dev;
-       struct list_head *list, *next;
+       struct list_head *list;
        int err, range_low, range_high;
 
        snd_assert(card != NULL, return -ENXIO);
        range_low = cmd * SNDRV_DEV_TYPE_RANGE_SIZE;
        range_high = range_low + SNDRV_DEV_TYPE_RANGE_SIZE - 1;
       __again:
-       list_for_each_safe(list, next, &card->devices) {
+       list_for_each(list, &card->devices) {
                dev = snd_device(list);         
                if (dev->type >= range_low && dev->type <= range_high) {
                        if ((err = snd_device_free(card, dev->device_data)) < 0)



-------------------------------------------------------
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