Re: [PATCH 1/7] i8042 suspend

From: Vojtech Pavlik
Date: Sat Jan 03 2004 - 05:08:40 EST


On Sat, Jan 03, 2004 at 03:56:45AM -0500, Dmitry Torokhov wrote:
> diff -Nru a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
> --- a/drivers/input/serio/i8042.c Sat Jan 3 03:07:29 2004
> +++ b/drivers/input/serio/i8042.c Sat Jan 3 03:07:29 2004
> @@ -746,6 +746,29 @@
>
>
> /*
> + * Reset the controller.
> + */
> +void i8042_controller_reset(void)
> +{
> + if (i8042_reset) {
> + unsigned char param;
> +
> + if (i8042_command(&param, I8042_CMD_CTL_TEST))
> + printk(KERN_ERR "i8042.c: i8042 controller reset timeout.\n");
> + }

We should be checking the return value from the TEST command as well,
if we want to use this to initialize the controller on non-x86 platforms
(where i8042.reset is 0).

>
> -/*
> - * Reset the controller.
> - */
> -
> - if (i8042_reset) {
> - unsigned char param;
> + i8042_controller_reset();
> +}
>
> - if (i8042_command(&param, I8042_CMD_CTL_TEST))
> - printk(KERN_ERR "i8042.c: i8042 controller reset timeout.\n");
> - }


This actually introduces a bug, because we don't want to restore the CTR
setting before we save it, which the new code does.

> @@ -809,7 +826,7 @@
> if (i8042_mux_present)
> if (i8042_enable_mux_mode(&i8042_aux_values, NULL) ||
> i8042_enable_mux_ports(&i8042_aux_values)) {
> - printk(KERN_WARNING "i8042: failed to resume active multiplexor, mouse won't wotk.\n");
> + printk(KERN_WARNING "i8042: failed to resume active multiplexor, mouse won't work.\n");

Ahh, a typo. :)

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/