Skip to contentSkip to conversation

sb driver only accepts 16 bit dma channels 5,6,7

PATCH Andrew Friedley 1 participant 1 message Jul 26, 2002 Sound

lore
Share & tools
lore
#0 lore raw

I'm not subscribed to this list, id appreciate it if replies were CC'd to me.

I have a ISA soundblaster (vibra) 16. By default it uses DMA 3 for its 16 bit dma channel. For some reason the oss sb.o driver included in the kernel only accepts 16 bit dma values of 5, 6, or 7. Using the isapnp support in the 2.4 kernel, the driver accepts dma 3 as detected by isapnp. But, when dma 3 is given as the 16 bit dma channel on the kernel command line, the sb driver rejects it and no 16 bit dma channel is set up.

I have attached a patch, made against 2.4.19rc3, which makes the sb driver accept any DMA channel number for the 16 bit channel. This patch works for me on my system.

Thanks,

Andrew Friedley

drivers/sound/sb_common.c +5 -5
diff -Naur linux-2.4.19rc3/drivers/sound/sb_common.c linux-2.4.19rc3-mod/drivers/sound/sb_common.c
@@ -801,11 +801,11 @@
 
 			if (hw_config->dma2 == -1)
 				devc->dma16 = devc->dma8;
-			else if (hw_config->dma2 < 5 || hw_config->dma2 > 7)
-			{
-				printk(KERN_WARNING  "SB16: Bad or missing 16 bit DMA channel\n");
-				devc->dma16 = devc->dma8;
-			}
+//			else if (hw_config->dma2 < 5 || hw_config->dma2 > 7)
+//			{
+//				printk(KERN_WARNING  "SB16: Bad or missing 16 bit DMA channel\n");
+//				devc->dma16 = devc->dma8;
+//			}
 			else
 				devc->dma16 = hw_config->dma2;