[PATCH] sb16 /dev/dsp busy 2.2.0-pre1

Mike Galbraith (mikeg@weiden.de)
Wed, 30 Dec 1998 16:16:54 +0100 (CET)


Hi,

I think I've figured out the sb16 busy dsp trouble. The problem occurs
after we have opened the dsp O_WRONLY and set it up for dma16. When we
close, we end up closing the wrong dmap because it is switched out from
underneath us in sb_audio_close() before close_dmap() is called. Later
attempts to open O_RDWR find dmap_in busy.

Tested with all of the sound goodies I have.. all seem happy.

-Mike

--- linux/drivers/sound/sb_audio.c.org Wed Dec 30 13:29:47 1998
+++ linux/drivers/sound/sb_audio.c Wed Dec 30 13:42:58 1998
@@ -92,7 +92,7 @@
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)
+ if(devc->fullduplex && audio_devs[dev]->dmap_out->dma != devc->dma8)
{
struct dma_buffparms *dmap_temp;
dmap_temp = audio_devs[dev]->dmap_out;

-
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/