#11260 NORM Not Tri: i8042 data loss over suspend/resume
Zarro Boogs per Child
bugtracker at laptop.org
Mon Oct 10 09:20:09 EDT 2011
#11260: i8042 data loss over suspend/resume
-------------------------------------------+--------------------------------
Reporter: dsd | Owner: rsmith
Type: defect | Status: new
Priority: normal | Milestone: Not Triaged
Component: embedded controller | Version: 1.5-C2
Resolution: | Keywords:
Next_action: never set | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
-------------------------------------------+--------------------------------
Comment(by rsmith):
Replying to [comment:5 pgf]:
> is all this behavior a regression? or has it always been this way? if
a regression, since when?
We need to to find this out. We have always had problems with key repeats
on resume. It's possible that the suspend speed of the previous kernels
was slow enough that this didn't happen so much.
It important to know this because the core of this problem is that for
some reason when the system suspends the EC sees a read of the keyboard
data register so it thinks that the break code has been read by the host.
If this has always been the case and then there is perhaps some sort of
hardware glitch and solving the root cause may not be possible. If the
false key read does not occur on previous releases then there's hope that
some sort of kernel tweak can solve this.
Solving it directly in the EC is tricky because you have to interrupt the
normal path before suspend since the EC isn't doing anything different.
Its sees a read and goes on to wait for the the next keypress. By the
time the EC sees that the system has suspended its too late because the
data has been lost.
The 11260 hack was a trivial attempt at a fix and didn't pan out. A 2nd
idea I'm having is to use the SCI inhibit system we have for XO-1. On
XO-1 the kernel sends an SCI_INHIBIT prior to the suspend so the EC knows
not to send up an SCI until the system has has a chance to go all the way
into suspend otherwise XO-1 will hang. Its unused on 1.5 but all the code
is still present. We can possibly use the SCI inhibit period as a
keypress processing inhibit period. I can explore that option but I need
a kernel which sends the SCI INHIBIT command prior to going into suspend.
--
Ticket URL: <http://dev.laptop.org/ticket/11260#comment:6>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list