summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2015-03-08 22:33:36 -0700
committerSasha Levin <sasha.levin@oracle.com>2015-04-16 20:11:35 -0400
commit2786d08b06093a22baf247a58e06e0bbe02f70c6 (patch)
treebb4b5b016f44579d94e6f400e34d031a988d570d
parent4258604ea17b43462a0a09b84c7367e18d664ebd (diff)
Input: synaptics - do not retrieve the board id on old firmwares
[ Upstream commit b57a7128be24062b5b5b26032b7cd58f1651547e ] 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> Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-rw-r--r--drivers/input/mouse/synaptics.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 2f42a712f3e0..2176874a41b1 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -250,6 +250,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];