diff -r -u ivtv-0.2.0-rc3d.orig/driver/ivtv-audio.c ivtv-0.2.0-rc3d/driver/ivtv-audio.c
--- ivtv-0.2.0-rc3d.orig/driver/ivtv-audio.c	2004-07-04 10:50:24.000000000 -0400
+++ ivtv-0.2.0-rc3d/driver/ivtv-audio.c	2005-01-12 17:37:01.569350143 -0500
@@ -33,6 +33,7 @@
 static int ivtv_set_audio_for_msp34xx(struct ivtv *itv, u32 input, u32 output)
 {
         struct msp_matrix mspm;
+        struct video_audio va;
 
         if (input >= 0 && input <= 2) {
                 IVTV_DEBUG(IVTV_DEBUG_INFO,
@@ -55,6 +56,11 @@
                 IVTV_DEBUG(IVTV_DEBUG_ERR, "Setting audio matrix to input %d, output %d\n",
 			       mspm.input, mspm.output);
                 ivtv_msp34xx(itv, MSP_SET_MATRIX, &mspm);
+
+                memset(&va, 0, sizeof(struct video_audio));
+                ivtv_msp34xx(itv, VIDIOCGAUDIO, &va);
+                va.flags &= ~VIDEO_AUDIO_MUTE;
+                ivtv_msp34xx(itv, VIDIOCSAUDIO, &va);
                 return 0;
         }
 
@@ -120,6 +126,7 @@
 
 	switch (itv->card->audio_selector) {
 		case USE_MSP34XX:
+			memset(&va, 0, sizeof(struct video_audio));
 			ivtv_msp34xx(itv, VIDIOCGAUDIO, &va);
 			va.volume = volume;
 			va.mode = 0;  /* keep stereo mode at automatic stereo detection */
@@ -137,6 +144,7 @@
 
 	switch (itv->card->audio_selector) {
 		case USE_MSP34XX:
+			memset(&va, 0, sizeof(struct video_audio));
 			ivtv_msp34xx(itv, VIDIOCGAUDIO, &va);
 			break;
 		case USE_GPIO:
@@ -153,6 +161,7 @@
 
 	switch (itv->card->audio_selector) {
 		case USE_MSP34XX:
+			memset(&va, 0, sizeof(struct video_audio));
 			ivtv_msp34xx(itv, VIDIOCGAUDIO, &va);
 			if (mute)
 				va.flags |= VIDEO_AUDIO_MUTE;
@@ -176,6 +185,7 @@
 
 	switch (itv->card->audio_selector) {
 		case USE_MSP34XX:
+			memset(&va, 0, sizeof(struct video_audio));
 			ivtv_msp34xx(itv, VIDIOCGAUDIO, &va);
 			break;
 		case USE_GPIO:
diff -r -u ivtv-0.2.0-rc3d.orig/driver/ivtv-driver.h ivtv-0.2.0-rc3d/driver/ivtv-driver.h
--- ivtv-0.2.0-rc3d.orig/driver/ivtv-driver.h	2004-12-06 21:53:12.000000000 -0500
+++ ivtv-0.2.0-rc3d/driver/ivtv-driver.h	2005-01-12 15:43:08.893761737 -0500
@@ -127,7 +127,7 @@
 #define IVTV_DRIVER_VERSION_MAJOR 0
 #define IVTV_DRIVER_VERSION_MINOR 2
 #define IVTV_DRIVER_VERSION_PATCHLEVEL 0
-#define IVTV_DRIVER_VERSION_COMMENT "rc3b" 
+#define IVTV_DRIVER_VERSION_COMMENT "rc3e" 
 #define IVTV_VERSION __stringify(IVTV_DRIVER_VERSION_MAJOR) "." __stringify(IVTV_DRIVER_VERSION_MINOR) "." __stringify(IVTV_DRIVER_VERSION_PATCHLEVEL) "-" IVTV_DRIVER_VERSION_COMMENT 
 #define IVTV_DRIVER_VERSION KERNEL_VERSION(IVTV_DRIVER_VERSION_MAJOR,IVTV_DRIVER_VERSION_MINOR,IVTV_DRIVER_VERSION_PATCHLEVEL)
 
