patch-2.1.128 linux/drivers/sound/sb_common.c

Next file: linux/drivers/sound/sb_mixer.h
Previous file: linux/drivers/sound/sb_audio.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.127/linux/drivers/sound/sb_common.c linux/drivers/sound/sb_common.c
@@ -168,17 +168,27 @@
 				/* printk(KERN_WARN "Sound Blaster: Unexpected interrupt\n"); */
 				;
 		}
-    } else if (devc->intr_active_2 && (src & 0x02)) {
-        switch (devc->irq_mode_2)
-        {
-            case IMODE_OUTPUT:
-                DMAbuf_outputintr (devc->dev, 1);
-                break;
-            case IMODE_INPUT:
-                DMAbuf_inputintr (devc->dev);
-                break;
-        }
-    }
+	}
+	else if (devc->intr_active_16 && (src & 0x02))
+	{
+		switch (devc->irq_mode_16)
+		{
+			case IMODE_OUTPUT:
+				DMAbuf_outputintr(devc->dev, 1);
+				break;
+
+			case IMODE_INPUT:
+				DMAbuf_inputintr(devc->dev);
+				break;
+
+			case IMODE_INIT:
+				break;
+
+			default:
+				/* printk(KERN_WARN "Sound Blaster: Unexpected interrupt\n"); */
+				;
+		}
+	}
 	/*
 	 * Acknowledge interrupts 
 	 */
@@ -605,6 +615,7 @@
 	sb_devc sb_info;
 	sb_devc *devc = &sb_info;
 
+	memset((char *) &sb_info, 0, sizeof(sb_info));	/* Zero everything */
 	sb_info.my_mididev = -1;
 	sb_info.my_mixerdev = -1;
 	sb_info.my_dev = -1;
@@ -621,7 +632,6 @@
 #endif
 		return 0;
 	}
-	memset((char *) &sb_info, 0, sizeof(sb_info));	/* Zero everything */
 
 	devc->type = hw_config->card_subtype;
 
@@ -971,7 +981,7 @@
 			/* We don't have to do this bit any more the UART401 is its own
 				master  -- Krzysztof Halasa */
 			/* But we have to do it, if UART401 is not detected */
-			if (!sbmpu && devc->my_mididev)
+			if (!sbmpu)
 				sound_unload_mididev(devc->my_mididev);
 			sound_unload_audiodev(devc->my_dev);
 		}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov