diff options
author | Sergey Vlasov <vsu@altlinux.ru> | 2005-07-24 00:53:32 -0500 |
---|---|---|
committer | Dmitry Torokhov <dtor_core@ameritech.net> | 2005-07-24 00:53:32 -0500 |
commit | 33fdfa97f2b3aab698ef849ec50dcc5102017f0a (patch) | |
tree | bb0e672f87d4af1f196106cd69cbcdb83f75fc09 | |
parent | 5ac7ba3ff599d66ffde182676f2e4fbcac61a2fe (diff) | |
download | op-kernel-dev-33fdfa97f2b3aab698ef849ec50dcc5102017f0a.zip op-kernel-dev-33fdfa97f2b3aab698ef849ec50dcc5102017f0a.tar.gz |
Input: synaptics - fix setting packet size on passthrough port.
Synaptics driver used child->type to select either 3-byte or 4-byte
packet size for the pass-through port; this gives wrong results for
the newer protocols. Change the check to use child->pktsize instead.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r-- | drivers/input/mouse/synaptics.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 39cc1e5..0293094 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c @@ -219,7 +219,7 @@ static void synaptics_pass_pt_packet(struct serio *ptport, unsigned char *packet serio_interrupt(ptport, packet[1], 0, NULL); serio_interrupt(ptport, packet[4], 0, NULL); serio_interrupt(ptport, packet[5], 0, NULL); - if (child->type >= PSMOUSE_GENPS) + if (child->pktsize == 4) serio_interrupt(ptport, packet[2], 0, NULL); } else serio_interrupt(ptport, packet[1], 0, NULL); @@ -233,7 +233,7 @@ static void synaptics_pt_activate(struct psmouse *psmouse) /* adjust the touchpad to child's choice of protocol */ if (child) { - if (child->type >= PSMOUSE_GENPS) + if (child->pktsize == 4) priv->mode |= SYN_BIT_FOUR_BYTE_CLIENT; else priv->mode &= ~SYN_BIT_FOUR_BYTE_CLIENT; |