Commit 79b8787e authored by Andries E. Brouwer's avatar Andries E. Brouwer Committed by Linus Torvalds

[PATCH] more keyboard stuff

I looked a bit more at the keyboard code and find a bug
and a probable bug.

(i) In case a synaptics touchpad has been detected, the comment says
    "disable AUX".  But we do not set the disable bit, but instead .and.
    with the bit - no doubt getting zero.  This must be a bug. 

(ii) Directly above this is the suspicious comment "keyboard translation
     seems to be always off".  But every machine comes always up in
     translated scancode 2.  Translation is never off.  But wait! by
     mistake the above .and.  cleared the XLATE bit.

So, I think bug (i) explains mystery (ii).

However, note that this is code reading only.  I do not have the
hardware, so cannot test.
parent c1cbd407
...@@ -619,17 +619,11 @@ static int __init i8042_check_mux(struct i8042_values *values) ...@@ -619,17 +619,11 @@ static int __init i8042_check_mux(struct i8042_values *values)
printk(KERN_INFO "i8042.c: Detected active multiplexing controller, rev %d.%d.\n", printk(KERN_INFO "i8042.c: Detected active multiplexing controller, rev %d.%d.\n",
(~param >> 4) & 0xf, ~param & 0xf); (~param >> 4) & 0xf, ~param & 0xf);
/*
* In MUX mode the keyboard translation seems to be always off.
*/
i8042_direct = 1;
/* /*
* Disable all muxed ports by disabling AUX. * Disable all muxed ports by disabling AUX.
*/ */
i8042_ctr &= I8042_CTR_AUXDIS; i8042_ctr |= I8042_CTR_AUXDIS;
i8042_ctr &= ~I8042_CTR_AUXINT; i8042_ctr &= ~I8042_CTR_AUXINT;
if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment