[PATCH] 17/41 sound/oss/maestro.c - convert cli to spinlocks

From: pwaechtler@mac.com
Date: Thu Aug 29 2002 - 14:56:27 EST


--- vanilla-2.5.32/sound/oss/maestro.c Sat Aug 10 00:08:29 2002
+++ linux-2.5-cli-oss/sound/oss/maestro.c Tue Aug 13 20:29:28 2002
@@ -2552,12 +2552,12 @@
         case SNDCTL_DSP_RESET:
                 if (file->f_mode & FMODE_WRITE) {
                         stop_dac(s);
- synchronize_irq();
+ synchronize_irq(s->card->pcidev->irq);
                         s->dma_dac.swptr = s->dma_dac.hwptr = s->dma_dac.count = s->dma_dac.total_bytes = 0;
                 }
                 if (file->f_mode & FMODE_READ) {
                         stop_adc(s);
- synchronize_irq();
+ synchronize_irq(s->card->pcidev->irq);
                         s->dma_adc.swptr = s->dma_adc.hwptr = s->dma_adc.count = s->dma_adc.total_bytes = 0;
                 }
                 return 0;
@@ -3682,8 +3682,7 @@
         unsigned long flags;
         int i,j;
 
- save_flags(flags);
- cli(); /* over-kill */
+ spin_lock_irqsave(&card->lock,flags); /* over-kill */
 
         M_printk("maestro: apm in dev %p\n",card);
 
@@ -3711,7 +3710,7 @@
 
         card->in_suspend++;
 
- restore_flags(flags);
+ spin_unlock_irqrestore(&card->lock,flags);
 
         /* we trust in the bios to power down the chip on suspend.
          * XXX I'm also not sure that in_suspend will protect
@@ -3725,8 +3724,7 @@
         unsigned long flags;
         int i;
 
- save_flags(flags);
- cli(); /* over-kill */
+ spin_lock_irqsave(&card->lock,flags); /* over-kill */
 
         card->in_suspend = 0;
 
@@ -3779,7 +3777,7 @@
                 }
         }
 
- restore_flags(flags);
+ spin_unlock_irqrestore(&card->lock,flags);
 
         /* all right, we think things are ready,
                 wake up people who were using the device

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Aug 31 2002 - 22:00:28 EST