mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
Input: synaptics - disable InterTouch on ThinkPad T440p (board id 2722)
The Lenovo ThinkPad T440p (PNP ID LEN0036, board id 2722) has a Synaptics touchpad whose SMBus companion is not ready at boot and takes roughly 200 seconds to appear. During this window the touchpad and TrackPoint are completely unresponsive on approximately 50% of boots, making the machine unusable until the companion finally registers. The device is in the topbuttonpad_pnp_ids[] SMBus allowlist, so the kernel attempts to use SMBus/RMI4 mode by default. When the companion is not ready, psmouse_smbus_init() leaves breadcrumbs and returns -EAGAIN, the PS/2 fallback path is taken, but the device does not function properly until the companion appears and RMI4 takes over. Disable SMBus InterTouch for board id 2722 so the touchpad and TrackPoint work immediately via PS/2 from boot. Users can still force SMBus with psmouse.synaptics_intertouch=1 if needed. Tested-by: Raphaël Larocque <rlarocque@disroot.org> Signed-off-by: Raphaël Larocque <rlarocque@disroot.org> Link: https://patch.msgid.link/20260910164425.12832-1-rlarocque@disroot.org Cc: stable@vger.kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
85f080fb87
commit
26eb3d92c7
|
|
@ -1838,6 +1838,14 @@ static int synaptics_setup_intertouch(struct psmouse *psmouse,
|
|||
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
/* Disable intertouch on known-broken board revisions */
|
||||
if (info->board_id == 2722) {
|
||||
psmouse_info(psmouse,
|
||||
"Disabling intertouch for board id %u\n",
|
||||
info->board_id);
|
||||
return -ENXIO;
|
||||
}
|
||||
}
|
||||
|
||||
psmouse_info(psmouse, "Trying to set up SMBus access\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user