patch-2.2.0-pre6 linux/drivers/sound/mad16.c

Next file: linux/drivers/sound/opl3sa2.c
Previous file: linux/drivers/sound/lowlevel/awe_compat.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.0-pre5/linux/drivers/sound/mad16.c linux/drivers/sound/mad16.c
@@ -495,17 +495,24 @@
 
 				for (i = 0xf8d; i <= 0xf93; i++)
 					DDB(printk("port %03x = %02x\n", i, mad_read(i)));
+                                if(!detect_mad16()) {
+
+				  /* The C931 has the password reg at F8D */
+				  outb((0xE4), 0xF8D);
+				  outb((0x80), 0xF8D);
+				  DDB(printk("Detect using password = 0xE4 for C931\n"));
 
-				if (!detect_mad16()) {
-				  board_type = C924;
-				  c924pnp++;
-				  DDB(printk("Detect using password = 0xE5 (again), port offset -0x80\n"));
 				  if (!detect_mad16()) {
-				    c924pnp=0;
-				    return 0;
-				  }
+				    board_type = C924;
+				    c924pnp++;
+				    DDB(printk("Detect using password = 0xE5 (again), port offset -0x80\n"));
+				    if (!detect_mad16()) {
+				      c924pnp=0;
+				      return 0;
+				    }
 				  
-				  DDB(printk("mad16.c: 82C924 PnP detected\n"));
+				    DDB(printk("mad16.c: 82C924 PnP detected\n"));
+				  }
 				}
 				else
 				  DDB(printk("mad16.c: 82C930 detected\n"));

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