2017-11-16 07:37:42

by Masaki Ota

[permalink] [raw]
Subject: RE: [PATCH] Input: ALPS - fix DualPoint flag for 74 03 28 devices

Hi, Pali, Aaron,

Current code is correct device setting, previous code is wrong.
If the trackstick does not work(DUALPOINT flag disable), Device Firmware setting is wrong.

But recently I received the same report from Thinkpad L570 user, and I checked this device and found this device Firmware setting is wrong. Sorry for our mistake.
Is your laptop L570 ?

I will add code that supports the trackstick for this device.

Best Regards,
Masaki Ota
-----Original Message-----
From: Pali Rohár [mailto:[email protected]]
Sent: Wednesday, November 15, 2017 5:35 PM
To: 太田 真喜 Masaki Ota <[email protected]>
Cc: [email protected]; [email protected]; [email protected]; Aaron Ma <[email protected]>
Subject: Re: [PATCH] Input: ALPS - fix DualPoint flag for 74 03 28 devices

On Wednesday 15 November 2017 14:34:04 Aaron Ma wrote:
> There is a regression of commit 4a646580f793 ("Input: ALPS - fix
> two-finger scroll breakage"), ALPS device fails with log:
>
> psmouse serio1: alps: Rejected trackstick packet from non DualPoint
> device
>
> ALPS device with id "74 03 28" report OTP[0] data 0xCE after commit
> 4a646580f793, after restore the OTP reading order, it becomes to 0x10
> as before and reports the right flag.
>
> Fixes: 4a646580f793 ("Input: ALPS - fix two-finger scroll breakage")
> Cc: <[email protected]>
> Signed-off-by: Aaron Ma <[email protected]>
> ---
> drivers/input/mouse/alps.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
> index 579b899add26..c59b8f7ca2fc 100644
> --- a/drivers/input/mouse/alps.c
> +++ b/drivers/input/mouse/alps.c
> @@ -2562,8 +2562,8 @@ static int alps_set_defaults_ss4_v2(struct
> psmouse *psmouse,
>
> memset(otp, 0, sizeof(otp));
>
> - if (alps_get_otp_values_ss4_v2(psmouse, 1, &otp[1][0]) ||
> - alps_get_otp_values_ss4_v2(psmouse, 0, &otp[0][0]))
> + if (alps_get_otp_values_ss4_v2(psmouse, 0, &otp[0][0]) ||
> + alps_get_otp_values_ss4_v2(psmouse, 1, &otp[1][0]))
> return -1;
>
> alps_update_device_area_ss4_v2(otp, priv);

Masaki Ota, please look at this patch as it partially revert your commit
4a646580f793 ("Input: ALPS - fix two-finger scroll breakage"). Something smells here.

--
Pali Rohár
[email protected]