Re: Input+S3: extra keycodes forgotten after suspend

From: Dmitry Torokhov
Date: Tue May 27 2008 - 01:52:40 EST


On Friday 23 May 2008 16:57, Bruno PrÃmont wrote:
> On Fri, 23 May 2008 Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote:
> > > Ah, ok, great.. I think we simply need to move dritek out of the
> > > place where you put it in so it does not interfere with our efforts
> > > to resume keyboard and mouse ;) I will see what I can do there..
> > >
> >
> > So what about the patch below? Does it work for you?
> >
> > Thanks!
>
> Hi Dmitry,
>
> Yes, this patch works for me (in combination with
> http://lkml.org/lkml/2008/5/16/430 ), see attached boot+suspend&resume
> log.
>
> You will eventually note the following lines during resume process:
> ...
> [ Â150.588965] /usr/src/linux-2.6.25.4-orig/drivers/input/serio/i8042.c: 60 -> i8042 (command) [15985]
> [ Â150.588965] /usr/src/linux-2.6.25.4-orig/drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [15985]
> [ Â150.588965] /usr/src/linux-2.6.25.4-orig/drivers/input/serio/i8042.c: 00 <- i8042 (interrupt, 0, 0) [15985]
> [ Â150.588965] atkbd.c: Unknown key pressed (translated set 2, code 0x0 on isa0060/serio0).
> [ Â150.588965] atkbd.c: Use 'setkeycodes 00 <keycode>' to make it known.
> [ Â150.588965] /usr/src/linux-2.6.25.4-orig/drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [15985]
> [ Â150.609410] /usr/src/linux-2.6.25.4-orig/drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [15987]
> ...
>

I see. Could you please try the patch below (in addition to the other
2 you have) and see if that 00 keycode is still reported?

Thanks!

--
Dmitry

Input: atkbd - mark keyboard as disabled when suspending/unloading

This will shut off garbage that may come from KBD port during resume.

Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>
---
drivers/input/keyboard/atkbd.c | 2 ++
1 file changed, 2 insertions(+)

Index: work/drivers/input/keyboard/atkbd.c
===================================================================
--- work.orig/drivers/input/keyboard/atkbd.c
+++ work/drivers/input/keyboard/atkbd.c
@@ -807,6 +807,8 @@ static int atkbd_activate(struct atkbd *
static void atkbd_cleanup(struct serio *serio)
{
struct atkbd *atkbd = serio_get_drvdata(serio);
+
+ atkbd_disable(atkbd);
ps2_command(&atkbd->ps2dev, NULL, ATKBD_CMD_RESET_BAT);
}

--
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/