Update of /cvsroot/alsa/alsa-kernel/pci
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31686

Modified Files:
        intel8x0.c 
Log Message:
Added spinlock to pointer callback - ichdev->position is not changed atomically

Index: intel8x0.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/intel8x0.c,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- intel8x0.c  11 Feb 2004 12:06:57 -0000      1.116
+++ intel8x0.c  12 Feb 2004 16:12:47 -0000      1.117
@@ -1022,6 +1022,7 @@
 {
        intel8x0_t *chip = snd_pcm_substream_chip(substream);
        ichdev_t *ichdev = get_ichdev(substream);
+       unsigned long flags;
        size_t ptr1, ptr;
 
        ptr1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << 
chip->pcm_pos_shift;
@@ -1029,7 +1030,9 @@
                ptr = ichdev->fragsize1 - ptr1;
        else
                ptr = 0;
+       spin_lock_irqsave(&chip->reg_lock, flags);
        ptr += ichdev->position;
+       spin_unlock_irqrestore(&chip->reg_lock, flags);
        if (ptr >= ichdev->size)
                return 0;
        return bytes_to_frames(substream->runtime, ptr);



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to