Re: PROBLEM: Regression likely in hid_uclogic driver breaks Huion Inspiroy H640 drawing tablet
From: José Expósito <hidden>
Date: 2022-08-28 10:07:26
Also in:
lkml
On Mon, Aug 22, 2022 at 08:25:52AM +0200, Benjamin Tissoires wrote:
On Sun, Aug 21, 2022 at 1:45 AM Stefan Hansson [off-list ref] wrote:quoted
quoted
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 <redacted> 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?Sorry for that. I had some local commits in my tree that made the patch unusable. I just formally sent the patch [0] based on the hid.git/for-next branch which is actually applying on top of v5.19 or even v5.18. Cheers, Benjamin [0] https://lore.kernel.org/linux-input/20220822062247.1146141-1-benjamin.tissoires@redhat.com/T/#u (local)
As I already commented in the patch, the problem is now solved on hid/for-next. Thanks!