Voodooprojects

VoodooPS2Controller => Bug Reports => Topic started by: bcc9 on July 12, 2009, 03:06:11 AM

Title: Synaptics touchpad hung after resume + FIX
Post by: bcc9 on July 12, 2009, 03:06:11 AM
On the dell xps 1340 laptop, the synaptics touchpad hangs upon resume from suspend.  I found that this was due to the driver not waiting long enough in setDevicePowerState() for the hardware to reset.  I discovered this by looking at the linux driver (that does not share this problem), and noticing that it states, in drivers/input/serio/libps2.c:
"Some devices (Synaptics) peform the reset before ACKing the reset command, and so it can take a long time before the ACK arrrives."
and so the code waits for up to 4 seconds for the ACK to arrive.

I changed the IOSleep(1000) in ApplePS2SynapticsTouchPad::setDevicePowerState to IOSleep(4000) and that has fixed the touchpad hang problem with VoodooPS2Trackpad.  Been running with this fix for a week now with my laptop suspending&resuming all the time, and it has been working well.

Context diffs attached
Title: Re: Synaptics touchpad hung after resume + FIX
Post by: bcc9 on July 16, 2009, 12:07:47 AM
Is there a bug tracking database I should be putting this into (like the one here http://code.google.com/p/voodoohda/issues/list for voodoohda)?  Would hate to see the fix get ignored.