#8894 HIGH Not Tri: Synaptics touchpad takes two seconds to wake up after resume
Zarro Boogs per Child
bugtracker at laptop.org
Sun Nov 2 19:07:42 EST 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: design | Verified: 0
Blockedby: 8901 | Blocking:
----------------------+-----------------------------------------------------
Changes (by dsaxena):
* next_action: diagnose => design
* blockedby: => 8901
Comment:
I've tried a couple of different things in the code to make it not cause
the
2nd delayed rescan and the best __temporary__ solution I could come with
is
the following patch I have pushed to testing and master branches:
{{{
commit fd3ef663a9b2729a6f626326d6692fc77323f11d
Author: Deepak Saxena <dsaxena at laptop.org>
Date: Sun Nov 2 15:22:05 2008 -0800
Don't detect PSMOUSE_SYNAPTICS if Synaptics protocol is not enabled
When the kernel is built w/o Synaptics protocol support, we configure
a PSMOUSE_PS2 protocol device during initialization; however
during suspend/resume, we report it as a PSMOUSE_SYNAPTICS protocol
device. This caused the kernel to think it is not the device that
was attached at resume time and so we end up doing a deffered
reinitialization, which takes > 2s. This patch causes to not
report a Synaptics protocol extension when protocol support
is disabled and allows us to resume w/o reinitializing the device.
Signed-off-by: Deepak Saxena <dsaxena at laptop.org>
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse
/psmouse-base.c
index 28aa38d..2e5cdd4 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -603,7 +603,12 @@ static int psmouse_extensions(struct psmouse
*psmouse,
if (max_proto > PSMOUSE_IMEX) {
if (!set_properties || synaptics_init(psmouse) ==
0)
+#ifdef CONFIG_MOUSE_PS2_SYNAPTICS
return PSMOUSE_SYNAPTICS;
+#else
+ return PSMOUSE_PS2;
+#endif
+
/*
* Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
* Unfortunately Logitech/Genius probes confuse some firmware versions so
}}}
I say temporary b/c I will submit upstream and see what happens. I think
that
the proper solution might be to fix the issues in #8901 so that we can
just
run in Synaptics protocol mode. Marking that as a blocker to this.
--
Ticket URL: <http://dev.laptop.org/ticket/8894#comment:16>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list