summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2015-03-08 22:33:36 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-04-13 14:03:52 +0200
commitfbd0f7e0c8d0fdeb8056b0a5d521af8234f62ffd (patch)
treeb2dd6910c65f05581f282fd83d11112375dd93c2
parente5a147570ddbbcee6d7cae592e364575d98e15f8 (diff)
Input: synaptics - do not retrieve the board id on old firmwares
commit b57a7128be24062b5b5b26032b7cd58f1651547e upstream. The board id capability has been added in firmware 7.5. 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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];