lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <97ec87e6-b0c3-f2c9-4412-41a5884b6a24@gmail.com>
Date:   Sat, 20 Aug 2022 19:45:42 -0400
From:   Stefan Hansson <newbie13xd@...il.com>
To:     Benjamin Tissoires <benjamin.tissoires@...hat.com>,
        José Expósito <jose.exposito89@...il.com>
Cc:     Jiri Kosina <jikos@...nel.org>, Ping Cheng <ping.cheng@...om.com>,
        Peter Hutterer <peter.hutterer@...-t.net>,
        "open list:HID CORE LAYER" <linux-input@...r.kernel.org>,
        lkml <linux-kernel@...r.kernel.org>
Subject: Re: PROBLEM: Regression likely in hid_uclogic driver breaks Huion
 Inspiroy H640 drawing tablet

> FWIW, I found the issue: the hid-uclogic driver is emitting input data
> behind hid-input, and the state between the 2 is desynchronized.
> 
> The following patch seems to be working (with the Huion v1 protocol I
> have here that I have tweaked to resemble a v2):
> ---
>  From aeedd318e6cb4dbee551f67616302cc7c4308c58 Mon Sep 17 00:00:00 2001
> From: Benjamin Tissoires <benjamin.tissoires@...hat.com>
> Date: Thu, 18 Aug 2022 15:09:25 +0200
> Subject: [PATCH] Fix uclogic
> 
> ---
>   drivers/hid/hid-input.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index c6b27aab9041..a3e2397bb3a7 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -1530,7 +1530,10 @@ void hidinput_hid_event(struct hid_device *hid, 
> struct hid_field *field, struct
>                * assume ours
>                */
>               if (!report->tool)
> -                hid_report_set_tool(report, input, usage->code);
> +                report->tool = usage->code;
> +
> +            /* drivers may have changed the value behind our back, 
> resend it */
> +            hid_report_set_tool(report, input, report->tool);
>           } else {
>               hid_report_release_tool(report, input, usage->code);
>           }

What branch should this be applied on top of?

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ