From: "David N. Welton" <davidw@eidetix.com>
To: Vojtech Pavlik <vojtech@suse.cz>
Cc: Sascha Wilde <wilde@sha-bang.de>,
Dmitry Torokhov <dtor_core@ameritech.net>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: 2.6 kernel won't reboot on AMD system - 8042 problem?
Date: Fri, 13 Aug 2004 14:58:06 +0200 [thread overview]
Message-ID: <411CBADE.6060402@eidetix.com> (raw)
In-Reply-To: <20040813120357.GA907@ucw.cz>
Vojtech Pavlik wrote:
> Now I think the problem lies in that that on your i8042 issuing a
> command doesn't clear the AUXDATA bit. It's only cleared by data from
> the keyboard.
> This is likely a bug in you i8042 firmware (or hw, if it's just an
> ASIC).
Well, that has always seemed likely to me, given that rebooting without
a keyboard is something that works on pretty much everyone else's
machines! But to some degree the bug ought to be worked around.
> I suppose we can get rid of the checking of data source and negation and
> be done with it.
That helps, but there are still situation(s?) where it's not a complete
solution. It's good enough for what I need, though.
Starting with no keyboard, plug one in:
$ drivers/input/serio/i8042.c: aa <- i8042 (interrupt, aux, 0) [161928]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [162009]
drivers/input/serio/i8042.c: 46 -> i8042 (parameter) [162009]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [162151]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [162151]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux, 0) [162343]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [162424]
drivers/input/serio/i8042.c: ed -> i8042 (parameter) [162424]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux, 0) [162616]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [162697]
drivers/input/serio/i8042.c: 44 -> i8042 (parameter) [162697]
drivers/input/serio/i8042.c: aa <- i8042 (interrupt, aux, 0) [162989]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [163070]
drivers/input/serio/i8042.c: 46 -> i8042 (parameter) [163070]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [163212]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [163212]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 0) [163404]
drivers/input/serio/i8042.c: ab <- i8042 (interrupt, kbd, 0) [163485]
drivers/input/serio/i8042.c: 41 <- i8042 (interrupt, kbd, 0) [163566]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [163792]
drivers/input/serio/i8042.c: ed -> i8042 (parameter) [163792]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 0) [163983]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [164209]
drivers/input/serio/i8042.c: 44 -> i8042 (parameter) [164209]
Oops, it doesn't respond to anything... We unplug it and plug it back in
again. This time it's ok:
$ drivers/input/serio/i8042.c: aa <- i8042 (interrupt, kbd, 0) [191951]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [192032]
drivers/input/serio/i8042.c: 45 -> i8042 (parameter) [192032]
drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [192174]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [192247]
drivers/input/serio/i8042.c: ab <- i8042 (interrupt, kbd, 1) [192329]
drivers/input/serio/i8042.c: 41 <- i8042 (interrupt, kbd, 1) [192410]
drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [192491]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [192565]
drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [192646]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [192719]
drivers/input/serio/i8042.c: f3 -> i8042 (kbd-data) [192801]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [192874]
drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [192956]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [193029]
drivers/input/serio/i8042.c: f4 -> i8042 (kbd-data) [193110]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [193184]
input: AT Translated Set 2 keyboard on isa0060/serio0
This, because it checks in i8042_interrupt to see if the nefarious
STR_AUXDATA is set, which it is... According to your hypothesis,
plugging the keyboard in and hitting a few keys would have cleared the
AUXDATA bit, so the next time around it works fine.
Thanks,
--
David N. Welton
davidw@eidetix.com
next prev parent reply other threads:[~2004-08-13 12:58 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-11 14:14 2.6 kernel won't reboot on AMD system - 8042 problem? Dmitry Torokhov
2004-08-11 17:56 ` Sascha Wilde
2004-08-12 17:00 ` David N. Welton
2004-08-12 17:23 ` David N. Welton
2004-08-13 21:29 ` Sascha Wilde
2004-08-12 20:13 ` Vojtech Pavlik
2004-08-13 10:13 ` David N. Welton
2004-08-13 12:03 ` Vojtech Pavlik
2004-08-13 12:58 ` David N. Welton [this message]
[not found] <auto-000000462036@appliedminds.com>
2004-08-09 8:28 ` David N. Welton
2004-08-10 9:37 ` Sascha Wilde
2004-08-10 15:38 ` James Lamanna
[not found] <4112A626.1000706@appliedminds.com>
2004-08-06 8:22 ` David N. Welton
2004-08-06 16:55 ` James Lamanna
2004-08-08 12:18 ` Sascha Wilde
2004-08-08 15:05 ` Dmitry Torokhov
2004-08-11 20:06 ` Sascha Wilde
-- strict thread matches above, loose matches on Subject: below --
2004-07-28 17:51 2.6 kernel won't reboot on AMD system (no, not the BIOS...) David N. Welton
2004-08-05 12:48 ` 2.6 kernel won't reboot on AMD system - 8042 problem? David N. Welton
2004-08-05 19:25 ` Sascha Wilde
2004-08-11 6:31 ` Dmitry Torokhov
2004-08-11 8:36 ` David N. Welton
2004-08-11 12:27 ` Vojtech Pavlik
2004-08-11 12:45 ` David N. Welton
2004-08-11 13:43 ` Sascha Wilde
2004-08-11 14:17 ` Vojtech Pavlik
2004-08-11 13:55 ` David Ford
2004-08-11 20:14 ` Sascha Wilde
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=411CBADE.6060402@eidetix.com \
--to=davidw@eidetix.com \
--cc=dtor_core@ameritech.net \
--cc=linux-kernel@vger.kernel.org \
--cc=vojtech@suse.cz \
--cc=wilde@sha-bang.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.