Re: PROBLEM: Regression likely in hid_uclogic driver breaks Huion Inspiroy H640 drawing tablet

From: Benjamin Tissoires
Date: Mon Aug 22 2022 - 02:26:23 EST


On Sun, Aug 21, 2022 at 1:45 AM Stefan Hansson <newbie13xd@xxxxxxxxx> wrote:
>
> > 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@xxxxxxxxxx>
> > 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@xxxxxxxxxx/T/#u