>BTW. Which soundcard do you have, i'm also somewhat suspicious about GUS
You have still one hope. My patch only fixed code for AWE32 and GUS use
the ad1848 driver that does other disable/enable_dma() sequence. Try to
apply this patch over the last two one on 2.1.86.
Andrea[s] Arcangeli
--- /usr/src/linux/drivers/sound/ad1848.c Wed Jan 7 04:32:46 1998
+++ linux/drivers/sound/ad1848.c Wed Feb 18 01:43:33 1998
@@ -24,6 +24,11 @@
/*
* Thomas Sailer : ioctl code reworked (vmalloc/vfree removed)
*/
+/*
+ * Removed fast disable_dma()/enable_dma() cycles in order to avoid
+ * kernel locks on some motherboards.
+ * Andrea Arcangeli <arcangeli@mbox.queen.it>
+ */
#include <linux/config.h>
#include <linux/module.h>
@@ -1196,14 +1201,10 @@
{
int tmout;
- disable_dma(audio_devs[dev]->dmap_in->dma);
-
for (tmout = 0; tmout < 100000; tmout++)
if (ad_read(devc, 11) & 0x10)
break;
ad_write(devc, 9, ad_read(devc, 9) & ~0x02); /* Stop capture */
-
- enable_dma(audio_devs[dev]->dmap_in->dma);
devc->audio_mode &= ~PCM_ENABLE_INPUT;
}
@@ -1230,14 +1231,10 @@
{
int tmout;
- disable_dma(audio_devs[dev]->dmap_out->dma);
-
for (tmout = 0; tmout < 100000; tmout++)
if (ad_read(devc, 11) & 0x10)
break;
ad_write(devc, 9, ad_read(devc, 9) & ~0x01); /* Stop playback */
-
- enable_dma(audio_devs[dev]->dmap_out->dma);
devc->audio_mode &= ~PCM_ENABLE_OUTPUT;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu