a1ef73
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
a1ef73
Date: Sun, 8 Mar 2015 22:33:36 -0700
a1ef73
Subject: [PATCH] Input: synaptics - do not retrieve the board id on old
a1ef73
 firmwares
a1ef73
a1ef73
The board id capability has been added in firmware 7.5.
a1ef73
a1ef73
Cc: stable@vger.kernel.org
a1ef73
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
a1ef73
Acked-by: Hans de Goede <hdegoede@redhat.com>
a1ef73
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
a1ef73
---
a1ef73
 drivers/input/mouse/synaptics.c | 4 ++++
a1ef73
 1 file changed, 4 insertions(+)
a1ef73
a1ef73
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
a1ef73
index 2f42a712f3e0..2176874a41b1 100644
a1ef73
--- a/drivers/input/mouse/synaptics.c
a1ef73
+++ b/drivers/input/mouse/synaptics.c
a1ef73
@@ -250,6 +250,10 @@ static int synaptics_board_id(struct psmouse *psmouse)
a1ef73
 	struct synaptics_data *priv = psmouse->private;
a1ef73
 	unsigned char bid[3];
a1ef73
 
a1ef73
+	/* firmwares prior 7.5 have no board_id encoded */
a1ef73
+	if (SYN_ID_FULL(priv->identity) < 0x705)
a1ef73
+		return 0;
a1ef73
+
a1ef73
 	if (synaptics_send_cmd(psmouse, SYN_QUE_MODES, bid))
a1ef73
 		return -1;
a1ef73
 	priv->board_id = ((bid[0] & 0xfc) << 6) | bid[1];
a1ef73
-- 
a1ef73
2.1.0
a1ef73