#7968 HIGH 8.2.0 (: keyboard and touchpad lockup soon after first boot
Zarro Boogs per Child
bugtracker at laptop.org
Tue Aug 19 10:40:53 EDT 2008
#7968: keyboard and touchpad lockup soon after first boot
----------------------------+-----------------------------------------------
Reporter: pgf | Owner:
Type: defect | Status: new
Priority: high | Milestone: 8.2.0 (was Update.2)
Component: not assigned | Version:
Resolution: | Keywords: blocks?:8.2.0
Next_action: diagnose | Verified: 0
Blockedby: | Blocking:
----------------------------+-----------------------------------------------
Comment(by pgf):
adding some of last night's irc log, for the record:
<dilinger> pgf: i fixed a race in the touchpad driver that sounds very
similar to what you're seeing; it may be a different variation, or maybe
my fix didn't work
<dilinger> pgf: we'd see jumpiness, which meant that we'd queue up a
recalibration. after 1s, we'd start sending the recalibrate commands to
the touchpad (EC). sometimes, if we were doing something during that
window, we'd attempt to send ps2 commands while recieving (at least, that
was what i assumed was happening)
<dilinger> when that occurred, the EC or touchpad would screw up, and
enter a state whereby commands to it failed
<dilinger> that's the only time i've ever seen ps2 commands get nacked
<dilinger> the ps2 commands failing would obviously cause the touchpad to
fail (since we'd disable the touchpad, send commands, and if the ENABLE
command failed, we'd have no usable touchpad), but it would also cause the
keyboard to stop working
<dilinger> my solution was to put the ps2mouse state (when recalibrating)
into IGNORE, so that packets would be ignored
<dilinger> because otherwise, if we weren';t ignoring packets, we'd have a
recalibration and a (driver) resync happening at the same time.. and thus
the race, and touchpad/keyboard ended up disabled
<pgf> dilinger: thanks for that description. what richard and i saw today
felt a lot like an EC issue -- it looked like we'd either gotten (or
missed) an after-a-write ACK from the touchpad (it was still in the
receive register), and the the comm direction was still set to send.
<pgf> when we set the direction back to receive, things started working.
(but only the first time. that didn't work for the second lockup.)
--
Ticket URL: <http://dev.laptop.org/ticket/7968#comment:6>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list