[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a8e1da0706262001w707f8beah72ed9e0d3e032a9d@mail.gmail.com>
Date: Wed, 27 Jun 2007 03:01:19 +0000
From: "dave young" <hidave.darkstar@...il.com>
To: dmitry.torokhov@...il.com
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] atkbd: cleanup only once
2007/6/27, Dave Young <hidave.darkstar@...il.com>:
> Hi,
>
> If you press ctrl+alt+del several times as kernel booting (before user level bootin), the kernel will oops. I found the ps2_command is called more than once, then the ps2dev->serio maybe NULL pointer.
>
> 2.6.22-rc5 and 2.6.22-rc6 have same result.
>
> Signed-off-by: Dave Young <hidave.darkstar@...il.com>
> ---
> diff -upr linux/drivers/input/keyboard/atkbd.c linux.new/drivers/input/keyboard/atkbd.c
> --- linux/drivers/input/keyboard/atkbd.c 2007-06-27 10:38:37.000000000 +0000
> +++ linux.new/drivers/input/keyboard/atkbd.c 2007-06-27 10:37:39.000000000 +0000
> @@ -795,6 +795,11 @@ static int atkbd_activate(struct atkbd *
>
> static void atkbd_cleanup(struct serio *serio)
> {
> + static int flag;
> +
> + if(flag)
> + return;
> + flag = 1;
> struct atkbd *atkbd = serio_get_drvdata(serio);
> ps2_command(&atkbd->ps2dev, NULL, ATKBD_CMD_RESET_BAT);
> }
>
> Regards
> dave
>
attached please find the oops screen image.
Download attachment "screen.jpg" of type "image/jpeg" (117541 bytes)
Powered by blists - more mailing lists