From: "Nathaniel Case" <nacase@wisc.edu>
To: linux-kernel@vger.kernel.org
Subject: Toshiba laptop keyboard lockup/freezing revisited
Date: Tue, 17 Aug 2004 20:10:02 -0500 (CDT) [thread overview]
Message-ID: <32955.24.196.136.110.1092791402.squirrel@stabby.com> (raw)
Hello,
A few months ago there were some posts about an issue where the keyboard
would lockup (seemingly at random) on some systems (I specifically recall
Toshiba Satellite laptops being susceptible).
This started happening somewhere around kernel 2.6.5. I also experience
this in 2.6.7 on my Toshiba Satellite S173 (but never in 2.4).
When it would happen, I was usually able to get the keyboard back by
hitting various combinations of left-shift + F2. The lockup would happen
both in and out of X. The easiest way I found to reproduce it is to just
go in a console and rapidly mash keys including the left shift key. The
message I get in syslog when it happens is this:
input: AT Translated Set 2 keyboard on isa0060/serio0
Digging into this a bit, I found one change that seemed to be most related
to the bug. The change was to the interrupt handler in
drivers/input/serio.c:
@@ -195,6 +195,9 @@
ret = serio->dev->interrupt(serio, data, flags, regs);
} else {
if (!flags) {
+ if ((serio->type == SERIO_8042 ||
+ serio->type == SERIO_8042_XL) && (data !=
0xaa))
+ return ret;
serio_rescan(serio);
ret = IRQ_HANDLED;
}
I sprinkled some printk()'s around and saw that it was sometimes getting
"data = 0xab" when the lockup would occur.
I don't fully understand this code since I didn't dig into it too deeply,
but I was able to eliminate the lockups for myself by adding "&& (data !=
0xab)" in addition to checking for 0xaa to that line. I'm thinking that
0xaa and/or 0xab might be related to the scan-code sequences for the
left-shift key break-code, but I couldn't really find definitive
documentation on this stuff. Somewhere I read that 0xaa means that a
self-test has passed in addition to being the break code for left-shift.
Note that Toshiba Satellite keyboards have been known to have problems in
the past, so this may very well be a hardware bug.
Thoughts from anyone who worked on the serio or i8042 driver? Or anyone
else who has seen this problem?
Please CC replies to me as I am not subscribed to the list.
--
Nate Case <nacase@wisc.edu>
reply other threads:[~2004-08-18 1:10 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=32955.24.196.136.110.1092791402.squirrel@stabby.com \
--to=nacase@wisc.edu \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®