Messages in this thread Patch in this message |  | | Date | Thu, 04 Oct 2001 20:08:55 +0200 | From | Jerome AUGE <> | Subject | [PATCH] opl3sa2.c: DMA timeout when recording |
| |
Hi,
Here is a patch that fix a problem with the opl3sa2 driver. The problem is that if you use two distinct DMA channels, then you can play but can't record OR record and can't play, you get the message "DMA timeout (...)" The dma and dma2 are not initialized with the real DMA channels and they remain at -1.
--diff -ur linux.orig/drivers/sound/opl3sa2.c linux/drivers/sound/opl3sa2.c --- linux.orig/drivers/sound/opl3sa2.c Wed Oct 3 09:36:16 2001 +++ linux/drivers/sound/opl3sa2.c Wed Oct 3 09:41:28 2001 @@ -862,9 +862,9 @@ /* Our own config: */ hw_cfg->io_base = dev->resource[4].start; - hw_cfg->irq = 0; - hw_cfg->dma = -1; - hw_cfg->dma2 = -1; + hw_cfg->irq = dev->irq_resource[0].start; + hw_cfg->dma = dev->dma_resource[0].start; + hw_cfg->dma2 = dev->dma_resource[1].start; /* The MSS config: */ mss_cfg->io_base = dev->resource[1].start; @@ -944,9 +944,9 @@ * give pretty output from conf_printf. :) */ cfg[card].io_base = io; - cfg[card].irq = 0; - cfg[card].dma = -1; - cfg[card].dma2 = -1; + cfg[card].irq = irq; + cfg[card].dma = dma; + cfg[card].dma2 = dma2; /* The MSS config: */ cfg_mss[card].io_base = mss_io; |  |