Message ID | 1e2e981b-05af-43a7-bdfe-424d8783d28f@www.fastmail.com |
---|---|
State | New |
Headers | show |
Series | Fix two finger scroll which stops working on synaptics touchpad after resume | expand |
--- /home/justin/development/linux/drivers/input/mouse/synaptics.c.orig 2020-12-22 17:35:47.194989017 +0000 +++ /home/justin/development/linux/drivers/input/mouse/synaptics.c 2020-12-22 17:36:09.863354144 +0000 @@ -1619,6 +1619,7 @@ static int synaptics_init_ps2(struct psm psmouse->set_rate = synaptics_set_rate; psmouse->disconnect = synaptics_disconnect; psmouse->reconnect = synaptics_reconnect; + psmouse->fast_reconnect = synaptics_reconnect; psmouse->cleanup = synaptics_reset; /* Synaptics can usually stay in sync without extra help */ psmouse->resync_time = 0;
Hello, Bug reported here: https://bugzilla.kernel.org/show_bug.cgi?id=196719 Reliably reproduceable on my Lenovo T540p. It looks like the this was introduced between the fast reconnect and smbus companion work in 0ab3fa57425023f42e8822a293d9b87a3ad4e2b3 ( Input: psmouse - implement fast reconnect option) and 8eb92e5c91338eb19f86ffb2232258337ebf905b (Input: psmouse - add support for SMBus companions) respectively meaning that fast_reconnect is called psmouse-smbus.c rather reconnect in synaptics.c. This is because synaptics.c doesn't set up fast_reconnect in the struct so it's left as the one added by the smbus companion code. Set the fast_reconnect function pointer to the reconnect function in synaptics.c. Kind Regards, Justin. Signed-off-by: Justin Busby <jb.kernel@fastmail.com>