summaryrefslogtreecommitdiffstats
path: root/Input-synaptics-do-not-retrieve-the-board-id-on-old-.patch
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@fedoraproject.org>2015-03-11 09:17:47 -0400
committerJosh Boyer <jwboyer@fedoraproject.org>2015-03-11 09:18:03 -0400
commit80e48d0c7e8aced5df19d369961137f58ba97811 (patch)
treed9d7ddc5037d2b2b4189551f3846a868531fec33 /Input-synaptics-do-not-retrieve-the-board-id-on-old-.patch
parent73947052943a62125227728baddc88ef6934ae9d (diff)
downloadkernel-80e48d0c7e8aced5df19d369961137f58ba97811.tar.gz
kernel-80e48d0c7e8aced5df19d369961137f58ba97811.tar.xz
kernel-80e48d0c7e8aced5df19d369961137f58ba97811.zip
Patch series to fix Lenovo *40 and Carbon X1 touchpads (rhbz 1200777 1200778)
Diffstat (limited to 'Input-synaptics-do-not-retrieve-the-board-id-on-old-.patch')
-rw-r--r--Input-synaptics-do-not-retrieve-the-board-id-on-old-.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/Input-synaptics-do-not-retrieve-the-board-id-on-old-.patch b/Input-synaptics-do-not-retrieve-the-board-id-on-old-.patch
new file mode 100644
index 000000000..7006be4ad
--- /dev/null
+++ b/Input-synaptics-do-not-retrieve-the-board-id-on-old-.patch
@@ -0,0 +1,33 @@
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Sun, 8 Mar 2015 22:33:36 -0700
+Subject: [PATCH] Input: synaptics - do not retrieve the board id on old
+ firmwares
+
+The board id capability has been added in firmware 7.5.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Acked-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+---
+ drivers/input/mouse/synaptics.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
+index bd399a72e610..ff352ecca394 100644
+--- a/drivers/input/mouse/synaptics.c
++++ b/drivers/input/mouse/synaptics.c
+@@ -253,6 +253,10 @@ static int synaptics_board_id(struct psmouse *psmouse)
+ struct synaptics_data *priv = psmouse->private;
+ unsigned char bid[3];
+
++ /* firmwares prior 7.5 have no board_id encoded */
++ if (SYN_ID_FULL(priv->identity) < 0x705)
++ return 0;
++
+ if (synaptics_send_cmd(psmouse, SYN_QUE_MODES, bid))
+ return -1;
+ priv->board_id = ((bid[0] & 0xfc) << 6) | bid[1];
+--
+2.1.0
+