Author Topic: Synaptics touchpad hung after resume + FIX  (Read 5602 times)

0 Members and 1 Guest are viewing this topic.

bcc9

  • Observer
  • Posts: 13
Synaptics touchpad hung after resume + FIX
« 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

bcc9

  • Observer
  • Posts: 13
Re: Synaptics touchpad hung after resume + FIX
« Reply #1 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.