Blob Blame History Raw
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] Input: synaptics: Add intertouch blacklist for Thinkpad Helix
Patch-mainline: Never, SLE15/Leap15 only
References: bsc#1090457

The touchpad on Lenovo Thinkpad Helix seems fairly unstable with RMI4
connection and lost suddenly.  As a temporary workaround, blacklist
this device and falls back to the legacy bus.

Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1090457
Signed-off-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/input/mouse/synaptics.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -182,6 +182,12 @@ static const char * const forcepad_pnp_i
 	NULL
 };
 
+/* intertouch blacklisting */
+static const char * const intertouch_blacklist_pnp_ids[] = {
+	"LEN0033", /* Helix */
+	NULL
+};
+
 /*
  * Send a command to the synpatics touchpad by special commands
  */
@@ -1764,6 +1770,14 @@ static int synaptics_setup_intertouch(st
 
 			return -ENXIO;
 		}
+
+		if (psmouse_matches_pnp_id(psmouse,
+					   intertouch_blacklist_pnp_ids)) {
+			psmouse_info(psmouse,
+				     "intertouch blacklisted: %s\n",
+				     psmouse->ps2dev.serio->firmware_id);
+			return -ENXIO;
+		}
 	}
 
 	psmouse_info(psmouse, "Trying to set up SMBus access\n");