RE: [PATCH] Input: elantech - Fix V4 report decoding for module with middle key

From: 廖崇榮
Date: Wed May 30 2018 - 03:03:58 EST


Hi Dmitry,

-----Original Message-----
From: Dmitry Torokhov [mailto:dmitry.torokhov@xxxxxxxxx]
Sent: Wednesday, May 30, 2018 2:05 AM
To: KT Liao
Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-input@xxxxxxxxxxxxxxx;
ulrik.debie-os@xxxxxxxxx; phoenix@xxxxxxxxxx; aaron.ma@xxxxxxxxxxxxx;
josh.chen@xxxxxxxxxx
Subject: Re: [PATCH] Input: elantech - Fix V4 report decoding for module
with middle key

Hi KT,

On Mon, May 28, 2018 at 07:33:02PM +0800, KT Liao wrote:
> Some touchpad has middle key and it will be indicated in bit 2 of
packet[0].
> We need to fix V4 formation's byte mask to prevent error decoding.

Could you please let me know what devices this patch fixes? Are they
released or new hardware?


The primary target is Lenovo thinkpad P52 and it will be released in 6/M.

force_crc_enabled will fix the issue too because less bit-check in the
specific byte.
I guess Fujitsu H730/H760 in elantech_dmi_force_crc_enabled may have the
same issue.
I leave them in DMI table because I am not sure of it.

Thanks
KT
>
> Signed-off-by: KT Liao <kt.liao@xxxxxxxxxx>
> ---
> drivers/input/mouse/elantech.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/input/mouse/elantech.c
> b/drivers/input/mouse/elantech.c index fb4d902..f39dc66 100644
> --- a/drivers/input/mouse/elantech.c
> +++ b/drivers/input/mouse/elantech.c
> @@ -799,7 +799,7 @@ static int elantech_packet_check_v4(struct psmouse
*psmouse)
> else if (ic_version == 7 && etd->info.samples[1] == 0x2A)
> sanity_check = ((packet[3] & 0x1c) == 0x10);
> else
> - sanity_check = ((packet[0] & 0x0c) == 0x04 &&
> + sanity_check = ((packet[0] & 0x08) == 0x00 &&
> (packet[3] & 0x1c) == 0x10);
>
> if (!sanity_check)
> --
> 2.7.4
>

Thanks.

--
Dmitry