Ok lets see if I understand what is actually going on. Can you try
--- drivers/sound/via82cxxx_audio.c~ 2002-12-17 15:47:21.000000000 +0000
+++ drivers/sound/via82cxxx_audio.c 2002-12-17 15:48:51.000000000 +0000
@@ -15,7 +15,7 @@
*/
-#define VIA_VERSION "1.9.1-ac"
+#define VIA_VERSION "1.9.1-ac2"
#include <linux/config.h>
@@ -1344,7 +1344,11 @@
static inline void via_chan_maybe_start (struct via_channel *chan)
{
- assert (chan->is_active == sg_active(chan->iobase));
+ if(chan->is_active != sg_active(chan->iobase))
+ {
+ chan->is_active = 0;
+ printk(KERN_ERR "via82cxx_audio: DSP stopped unexpectedly.\n");
+ }
if (!chan->is_active && chan->is_enabled) {
chan->is_active = 1;
@@ -3275,7 +3279,7 @@
if (file->f_mode & FMODE_WRITE) {
rc = via_dsp_drain_playback (card, &card->ch_out, nonblock);
- if (rc && rc != ERESTARTSYS) /* Nobody needs to know about ^C */
+ if (rc && rc != -ERESTARTSYS) /* Nobody needs to know about ^C */
printk (KERN_DEBUG "via_audio: ignoring drain playback error %d\n", rc);
via_chan_free (card, &card->ch_out);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/