Commit 9781bbe6 authored by Peter Wächtler's avatar Peter Wächtler Committed by Linus Torvalds

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

parent 55ff4d61
...@@ -2552,12 +2552,12 @@ static int ess_ioctl(struct inode *inode, struct file *file, unsigned int cmd, u ...@@ -2552,12 +2552,12 @@ static int ess_ioctl(struct inode *inode, struct file *file, unsigned int cmd, u
case SNDCTL_DSP_RESET: case SNDCTL_DSP_RESET:
if (file->f_mode & FMODE_WRITE) { if (file->f_mode & FMODE_WRITE) {
stop_dac(s); 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; s->dma_dac.swptr = s->dma_dac.hwptr = s->dma_dac.count = s->dma_dac.total_bytes = 0;
} }
if (file->f_mode & FMODE_READ) { if (file->f_mode & FMODE_READ) {
stop_adc(s); 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; s->dma_adc.swptr = s->dma_adc.hwptr = s->dma_adc.count = s->dma_adc.total_bytes = 0;
} }
return 0; return 0;
...@@ -3682,8 +3682,7 @@ maestro_suspend(struct ess_card *card) ...@@ -3682,8 +3682,7 @@ maestro_suspend(struct ess_card *card)
unsigned long flags; unsigned long flags;
int i,j; int i,j;
save_flags(flags); spin_lock_irqsave(&card->lock,flags); /* over-kill */
cli(); /* over-kill */
M_printk("maestro: apm in dev %p\n",card); M_printk("maestro: apm in dev %p\n",card);
...@@ -3711,7 +3710,7 @@ maestro_suspend(struct ess_card *card) ...@@ -3711,7 +3710,7 @@ maestro_suspend(struct ess_card *card)
card->in_suspend++; card->in_suspend++;
restore_flags(flags); spin_unlock_irqrestore(&card->lock,flags);
/* we trust in the bios to power down the chip on suspend. /* we trust in the bios to power down the chip on suspend.
* XXX I'm also not sure that in_suspend will protect * XXX I'm also not sure that in_suspend will protect
...@@ -3725,8 +3724,7 @@ maestro_resume(struct ess_card *card) ...@@ -3725,8 +3724,7 @@ maestro_resume(struct ess_card *card)
unsigned long flags; unsigned long flags;
int i; int i;
save_flags(flags); spin_lock_irqsave(&card->lock,flags); /* over-kill */
cli(); /* over-kill */
card->in_suspend = 0; card->in_suspend = 0;
...@@ -3779,7 +3777,7 @@ maestro_resume(struct ess_card *card) ...@@ -3779,7 +3777,7 @@ maestro_resume(struct ess_card *card)
} }
} }
restore_flags(flags); spin_unlock_irqrestore(&card->lock,flags);
/* all right, we think things are ready, /* all right, we think things are ready,
wake up people who were using the device wake up people who were using the device
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment