Commit b46615fe authored by Seth Forshee's avatar Seth Forshee Committed by Dmitry Torokhov

Input: ALPS - remove assumptions about packet size

In preparation for version 4 protocol support, which has 8-byte
data packets, remove all hard-coded assumptions about packet size
and use psmouse->pktsize instead.
Signed-off-by: default avatarSeth Forshee <seth.forshee@canonical.com>
Acked-by: default avatarChase Douglas <chase.douglas@canonical.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent fa629ef5
...@@ -308,7 +308,7 @@ static void alps_flush_packet(unsigned long data) ...@@ -308,7 +308,7 @@ static void alps_flush_packet(unsigned long data)
serio_pause_rx(psmouse->ps2dev.serio); serio_pause_rx(psmouse->ps2dev.serio);
if (psmouse->pktcnt == 6) { if (psmouse->pktcnt == psmouse->pktsize) {
/* /*
* We did not any more data in reasonable amount of time. * We did not any more data in reasonable amount of time.
...@@ -359,8 +359,8 @@ static psmouse_ret_t alps_process_byte(struct psmouse *psmouse) ...@@ -359,8 +359,8 @@ static psmouse_ret_t alps_process_byte(struct psmouse *psmouse)
return PSMOUSE_BAD_DATA; return PSMOUSE_BAD_DATA;
} }
/* Bytes 2 - 6 should have 0 in the highest bit */ /* Bytes 2 - pktsize should have 0 in the highest bit */
if (psmouse->pktcnt >= 2 && psmouse->pktcnt <= 6 && if (psmouse->pktcnt >= 2 && psmouse->pktcnt <= psmouse->pktsize &&
(psmouse->packet[psmouse->pktcnt - 1] & 0x80)) { (psmouse->packet[psmouse->pktcnt - 1] & 0x80)) {
psmouse_dbg(psmouse, "refusing packet[%i] = %x\n", psmouse_dbg(psmouse, "refusing packet[%i] = %x\n",
psmouse->pktcnt - 1, psmouse->pktcnt - 1,
...@@ -368,7 +368,7 @@ static psmouse_ret_t alps_process_byte(struct psmouse *psmouse) ...@@ -368,7 +368,7 @@ static psmouse_ret_t alps_process_byte(struct psmouse *psmouse)
return PSMOUSE_BAD_DATA; return PSMOUSE_BAD_DATA;
} }
if (psmouse->pktcnt == 6) { if (psmouse->pktcnt == psmouse->pktsize) {
alps_process_packet(psmouse); alps_process_packet(psmouse);
return PSMOUSE_FULL_PACKET; return PSMOUSE_FULL_PACKET;
} }
...@@ -529,7 +529,7 @@ static int alps_tap_mode(struct psmouse *psmouse, int enable) ...@@ -529,7 +529,7 @@ static int alps_tap_mode(struct psmouse *psmouse, int enable)
static int alps_poll(struct psmouse *psmouse) static int alps_poll(struct psmouse *psmouse)
{ {
struct alps_data *priv = psmouse->private; struct alps_data *priv = psmouse->private;
unsigned char buf[6]; unsigned char buf[sizeof(psmouse->packet)];
bool poll_failed; bool poll_failed;
if (priv->i->flags & ALPS_PASS) if (priv->i->flags & ALPS_PASS)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment