Messages in this thread Patch in this message | | | Date | Sat, 12 Dec 1998 14:29:30 +0100 (CET) | From | Michael Krause <> | Subject | ac8 changes to sb_audio.c |
| |
These changes in the ac8 patch (ac4 also has them) don't make sense to me:
+++ linux.ac/drivers/sound/sb_audio.c Thu Dec 3 17:26:24 1998 @@ -91,6 +91,14 @@ { sb_devc *devc = audio_devs[dev]->devc; + /* if we did dma juggling put the right dmap in the right place */ + if(devc->duplex && audio_devs[dev]->dmap_out->dma != devc->dma8) + { + struct dma_buffparms *dmap_temp; + dmap_temp = audio_devs[dev]->dmap_out; + audio_devs[dev]->dmap_out = audio_devs[dev]->dmap_in; + audio_devs[dev]->dmap_in = dmap_temp; + } audio_devs[dev]->dmap_out->dma = devc->dma8; audio_devs[dev]->dmap_in->dma = ( devc->duplex ) ? devc->dma16 : devc->dma8; The result of this is that once I have opened /dev/dsp for output, I can't ever open it for reading again (and vice-versa). Removing this code fixes the problem. What is this piece of code supposed to do? I don't think it's even necessary, since two lines later the two fields get overwritten anyway.
-- michael krause [aka raw style / lego] - www.tu-harburg.de/~semk2104/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |