mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 18:55:12 +00:00
Input: synaptics - fix touchpad not working after S2R on Vostro V13
commit 8521478f67
upstream.
Synaptics touchpads on several Dell laptops, particularly Vostro V13
systems, may not respond properly to PS/2 commands and queries immediately
after resuming from suspend to RAM. This leads to unresponsive touchpad
after suspend/resume cycle.
Adding a 1-second delay after resetting the device allows touchpad to
finish initializing (calibrating?) and start reacting properly.
Reported-by: Daniel Manrique <daniel.manrique@canonical.com>
Tested-by: Daniel Manrique <daniel.manrique@canonical.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
cc98943003
commit
8246905d45
@ -24,6 +24,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <linux/input/mt.h>
|
||||
#include <linux/serio.h>
|
||||
@ -786,6 +787,16 @@ static int synaptics_reconnect(struct psmouse *psmouse)
|
||||
|
||||
do {
|
||||
psmouse_reset(psmouse);
|
||||
if (retry) {
|
||||
/*
|
||||
* On some boxes, right after resuming, the touchpad
|
||||
* needs some time to finish initializing (I assume
|
||||
* it needs time to calibrate) and start responding
|
||||
* to Synaptics-specific queries, so let's wait a
|
||||
* bit.
|
||||
*/
|
||||
ssleep(1);
|
||||
}
|
||||
error = synaptics_detect(psmouse, 0);
|
||||
} while (error && ++retry < 3);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user