bk://kernel.bkbits.net/vojtech/input
vojtech@suse.cz|ChangeSet|20040422082727|01744 vojtech

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/04/27 01:12:57-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# Documentation/kernel-parameters.txt
#   2004/04/27 01:12:54-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/23 12:45:46-07:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/vojtech/input
#   into bix.(none):/usr/src/bk-input
# 
# drivers/input/serio/i8042.c
#   2004/04/23 12:45:44-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/21 21:59:48-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# init/main.c
#   2004/04/21 21:59:45-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/19 19:33:52-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# init/main.c
#   2004/04/19 19:33:48-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/Kconfig
#   2004/04/19 19:33:48-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/01 15:09:02-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# init/main.c
#   2004/04/01 15:08:59-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/26 16:27:05+01:00 vojtech@suse.cz 
#   input: Profusion/ServerWorks chipset workaround in i8042.c for Ingo Molnar.
# 
# drivers/input/serio/i8042.c
#   2004/03/26 16:27:00+01:00 vojtech@suse.cz +10 -1
#   input: Profusion/ServerWorks chipset workaround in i8042.c for Ingo Molnar.
# 
# ChangeSet
#   2004/03/24 12:34:31+01:00 vojtech@suse.cz 
#   Merge suse.cz:/data/bk/linus into suse.cz:/data/bk/input
# 
# drivers/input/serio/i8042.c
#   2004/03/24 12:34:28+01:00 vojtech@suse.cz +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/24 02:40:26-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# Documentation/kernel-parameters.txt
#   2004/03/24 02:40:23-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/23 03:06:16-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# drivers/input/serio/i8042.c
#   2004/03/23 03:06:13-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/22 13:30:28-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/vojtech/input
#   into bix.(none):/usr/src/bk-input
# 
# drivers/input/serio/i8042.c
#   2004/03/22 13:30:25-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/19 14:56:45+01:00 vojtech@suse.cz 
#   input: Chips passing MUX detection incorrectly due to USB Legacy support
#          report MUX version 10.12, not 12.10. Fixed.
# 
# drivers/input/serio/i8042.c
#   2004/03/19 14:56:40+01:00 vojtech@suse.cz +2 -2
#   input: Chips passing MUX detection incorrectly due to USB Legacy support
#          report MUX version 10.12, not 12.10. Fixed.
# 
# ChangeSet
#   2004/03/16 12:44:52-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# init/main.c
#   2004/03/16 12:44:36-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/Kconfig
#   2004/03/16 12:44:36-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/03/16 12:44:36-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/14 10:50:14-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# init/main.c
#   2004/03/14 10:50:00-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/03/14 10:50:00-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/12 10:44:04-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-input
# 
# drivers/char/Kconfig
#   2004/03/12 10:43:50-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/12 00:49:27-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/vojtech/input
#   into bix.(none):/usr/src/bk-input
# 
# init/main.c
#   2004/03/12 00:49:07-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/10 10:36:24-08:00 akpm@mnm.(none) 
#   Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-input
# 
# init/main.c
#   2004/03/10 10:36:17-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/08 22:31:40-08:00 akpm@mnm.(none) 
#   Merge bk://kernel.bkbits.net/vojtech/input
#   into mnm.(none):/usr/src/bk-input
# 
# Documentation/kernel-parameters.txt
#   2004/03/08 22:31:33-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/06 12:55:28-08:00 akpm@mnm.(none) 
#   Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-input
# 
# Documentation/kernel-parameters.txt
#   2004/03/06 12:55:22-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/03 14:17:29-08:00 akpm@mnm.(none) 
#   Merge bk://kernel.bkbits.net/vojtech/input
#   into mnm.(none):/usr/src/bk-input
# 
# drivers/input/serio/i8042.c
#   2004/03/03 14:17:23-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/03 02:22:06-08:00 akpm@mnm.(none) 
#   Merge bk://kernel.bkbits.net/vojtech/input
#   into mnm.(none):/usr/src/bk-input
# 
# drivers/input/serio/i8042.c
#   2004/03/03 02:22:00-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/03/02 22:13:49-08:00 akpm@mnm.(none) 
#   Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-input
# 
# drivers/input/serio/i8042.c
#   2004/03/02 22:13:42-08:00 akpm@mnm.(none) +0 -0
#   Auto merged
# 
diff -Nru a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
--- a/drivers/input/serio/i8042.c	Thu Apr 29 23:15:50 2004
+++ b/drivers/input/serio/i8042.c	Thu Apr 29 23:15:50 2004
@@ -474,8 +474,17 @@
 	if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param != 0xa9)
 		return -1;
 	param = 0xa4;
-	if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param == 0x5b)
+	if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param == 0x5b) {
+
+/*
+ * Do another loop test with the 0x5a value. Doing anything else upsets
+ * Profusion/ServerWorks OSB4 chipsets.
+ */
+
+		param = 0x5a;
+		i8042_command(&param, I8042_CMD_AUX_LOOP);
 		return -1;
+	}
 
 	if (mux_version)
 		*mux_version = ~param;
@@ -532,8 +541,8 @@
 		return -1;
 	
 	/* Workaround for broken chips which seem to support MUX, but in reality don't. */
-	/* They all report version 12.10 */
-	if (mux_version == 0xCA)
+	/* They all report version 10.12 */
+	if (mux_version == 0xAC)
 		return -1;
 
 	printk(KERN_INFO "i8042.c: Detected active multiplexing controller, rev %d.%d.\n",