#9779 BLOC 1.5-sof: Wakeup key is repeated
Zarro Boogs per Child
bugtracker at laptop.org
Sat Dec 5 16:35:17 EST 2009
#9779: Wakeup key is repeated
--------------------------------+-------------------------------------------
Reporter: cjb | Owner: rsmith
Type: defect | Status: new
Priority: blocker | Milestone: 1.5-software-beta
Component: kernel | Version: not specified
Resolution: | Keywords:
Next_action: diagnose | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
--------------------------------+-------------------------------------------
Comment(by wmb at firmworks.com):
Just to be explicit, I believe that the code that needs to be skipped per
above absolutely will cause the observed false-repeat symptom, depending
on an uncontrollable race condition between the OS issuing the commands
and the keyboard sending the break event from the other direction.
The __i8042_command() routine does not attempt to distinguish between
valid command response bytes and interspersed events from the keyboard.
It is in fact possible at the protocol level to make the distinction (the
value sets for the two cases are disjoint), but would add some complexity
to the command response parsing logic (it would have to do a range check
and redirect data events to a queue). According to my reading of
__i8042_command(), it does not make the distinction, instead just counting
N incoming bytes and stuffing them in the param[] array. That being the
case, __i8042_command() *will* eat keyboard events if they happen during a
window of vulnerability.
--
Ticket URL: <http://dev.laptop.org/ticket/9779#comment:13>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list