different signature compared to v3. To the best of my knowledge, I can
only say some models of v2 hardware have this, and others don't. So we
always check for debounce.
Please test this patch and see if it works for you.
Please apply this on up of my v5 series.
Thanks
---
@@ -613,6 +613,13 @@ static int elantech_packet_check_v1(struct psmouse *psmouse)
etd->parity[packet[3]] == p3;
}
+static int elantech_check_debounce_v2(struct psmouse *psmouse)
+{
+ const u8 debounce_packet[] = { 0x84, 0xff, 0xff, 0x02, 0xff, 0xff };
+ unsigned char *packet = psmouse->packet;
+ return !memcmp(packet, debounce_packet, sizeof(debounce_packet));
+}
+
static int elantech_packet_check_v2(struct psmouse *psmouse)
{
struct elantech_data *etd = psmouse->private;
@@ -708,6 +715,9 @@ static psmouse_ret_t elantech_process_byte(struct psmouse *psmouse)
break;
case 2:
+ if (elantech_check_debounce_v2(psmouse))
+ return PSMOUSE_FULL_PACKET;
+
if (etd->paritycheck && !elantech_packet_check_v2(psmouse))
return PSMOUSE_BAD_DATA;
--
jj