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

Modified Files:
        intel8x0.c 
Log Message:
check that period interrupt really has occured;
clear only those interrupts that have been handled

Index: intel8x0.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/intel8x0.c,v
retrieving revision 1.136
retrieving revision 1.137
diff -u -r1.136 -r1.137
--- intel8x0.c  21 Apr 2004 18:18:27 -0000      1.136
+++ intel8x0.c  26 Apr 2004 07:47:09 -0000      1.137
@@ -775,11 +775,14 @@
 static inline void snd_intel8x0_update(intel8x0_t *chip, ichdev_t *ichdev)
 {
        unsigned long port = ichdev->reg_offset;
-       int civ, i, step;
+       int status, civ, i, step;
        int ack = 0;
 
+       status = igetbyte(chip, port + ichdev->roff_sr);
        civ = igetbyte(chip, port + ICH_REG_OFF_CIV);
-       if (civ == ichdev->civ) {
+       if (!(status & ICH_BCIS)) {
+               step = 0;
+       } else if (civ == ichdev->civ) {
                // snd_printd("civ same %d\n", civ);
                step = 1;
                ichdev->civ++;
@@ -813,7 +816,8 @@
                snd_pcm_period_elapsed(ichdev->substream);
                spin_lock(&chip->reg_lock);
        }
-       iputbyte(chip, port + ichdev->roff_sr, ICH_FIFOE | ICH_BCIS | ICH_LVBCI);
+       iputbyte(chip, port + ichdev->roff_sr,
+                status & (ICH_FIFOE | ICH_BCIS | ICH_LVBCI));
 }
 
 static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs *regs)



-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to