Commit 839d71d7 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman Committed by Linus Torvalds

[PATCH] i810_audio.c cli/sti fix

Update for removed global irq lock
parent 409180f6
...@@ -1733,7 +1733,7 @@ static int i810_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -1733,7 +1733,7 @@ static int i810_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
} }
spin_unlock_irqrestore(&state->card->lock, flags); spin_unlock_irqrestore(&state->card->lock, flags);
synchronize_irq(); synchronize_irq(state->card->irq);
dmabuf->ready = 0; dmabuf->ready = 0;
dmabuf->swptr = dmabuf->hwptr = 0; dmabuf->swptr = dmabuf->hwptr = 0;
dmabuf->count = dmabuf->total_bytes = 0; dmabuf->count = dmabuf->total_bytes = 0;
...@@ -2814,15 +2814,14 @@ static void __init i810_configure_clocking (void) ...@@ -2814,15 +2814,14 @@ static void __init i810_configure_clocking (void)
} }
dmabuf->count = dmabuf->dmasize; dmabuf->count = dmabuf->dmasize;
outb(31,card->iobase+dmabuf->write_channel->port+OFF_LVI); outb(31,card->iobase+dmabuf->write_channel->port+OFF_LVI);
save_flags(flags); local_irq_save(flags);
cli();
start_dac(state); start_dac(state);
offset = i810_get_dma_addr(state, 0); offset = i810_get_dma_addr(state, 0);
mdelay(50); mdelay(50);
new_offset = i810_get_dma_addr(state, 0); new_offset = i810_get_dma_addr(state, 0);
stop_dac(state); stop_dac(state);
outb(2,card->iobase+dmabuf->write_channel->port+OFF_CR); outb(2,card->iobase+dmabuf->write_channel->port+OFF_CR);
restore_flags(flags); local_irq_restore(flags);
i = new_offset - offset; i = new_offset - offset;
#ifdef DEBUG #ifdef DEBUG
printk("i810_audio: %d bytes in 50 milliseconds\n", i); printk("i810_audio: %d bytes in 50 milliseconds\n", i);
......
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