#8894 HIGH Not Tri: Synaptics touchpad takes two seconds to wake up after resume
Zarro Boogs per Child
bugtracker at laptop.org
Thu Oct 30 04:59:10 EDT 2008
#8894: Synaptics touchpad takes two seconds to wake up after resume
--------------------------+-------------------------------------------------
Reporter: wad | Owner: dsaxena
Type: defect | Status: assigned
Priority: high | Milestone: Not Triaged
Component: kernel | Version: not specified
Resolution: | Keywords: CL1-A touchpad
Next_action: diagnose | Spec_stage: unknown
Blockedby: | Blocking:
Spec_reviewer: | Verified: 0
Spec_reviewed: 0 |
--------------------------+-------------------------------------------------
Comment(by dsaxena):
What I am seeing seems very odd. As Dilinger pointed out, serio_resume()
calls serio_reconnect_driver() which in turn call
psmouse_reconnect_driver().
This should call synaptics->reconnect(), but adding some debug at this
point
shows that the psmouse->reconnect function pointer is NULL. So instead of
calling the reconnect() function, we do a new psmouse_probe() and check
for
the extension type. If detected extension type != psmouse->type, we bail
causing the serio resume path to queue an event to scan the bus later.
In our case, the detected type is PSMOUSE_SYNAPTICS and psmouse->type
is PSMOUSE_PS2, trigerring the delayed scan. Somehow, somewhere, some of
the device data structure is getting reset in the S/R path.
psmouse->vendor
and psmouse->type are correct ("Synaptics", "TouchPad") so it is not
that we're getting the wrong pointer.
--
Ticket URL: <http://dev.laptop.org/ticket/8894#comment:10>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list